Blank strings and null values are different for a reason, they have different logical meanings. Suppose you have a table with a field called "my_string_value" and allow your domain model to represent no value as a zero length string. How do you now query the database for all records where "my_string_value" is not set? You have to use database functions to do this, which can be inefficient and often database specific. If its null you can easily
test.
Another thing to consider: in Oracle, you
cannot store a zero length string. So if you have the same field you must default it to a single space (or some other suitable default).