This has been discussed extensively on the forum. There are three alternative "solutions" (see link below). noneis convencing, since sun doesn't say anything about this ex and these solutions made assumptions to some degree. I try to make less assumption: if passed-in data are all null, then I am sure I won't create it in db and I throw the ex. No other case will throw an ex. I think this assumption is standable. Any comments.