The only way to deal with this is to use a custom type for mapping. I actually tried this before, got confused betw my POJO and the custom type, which does not replace the POJO, is used only by the framework to get values in and out of the POJO. Here is a link with some good examples of this problem.
http://www.i-proving.ca/space/Technolog ... +Hibernate
Note their use of the custom mapper to map the key field for the POJO, not to map the POJO itself.
I still think this is a long way around the barn to solve a common problem in legacy databases. Hibernate could allow the option of assigning a value from the default constructor for a null object when loading, and of not writing such values when saving. The POJO would be usable by other frameworks (like Spring, for web display), but empty, with the application taking responsibility for recognizing a value not in the database, standing in for a null.