On Dec 12, 2006, at 1:45 PM, Craig L Russell wrote:

There's nothing that I can find in the JPA specification about preserving null vs. empty Collections and Maps. There's no good (practical) way to implement null values for these types in relational databases, which is the target of the specification.

The only way I know to do it is to redundantly add a column to the table whose mapped class contains the Collection or Map field that knows whether an empty Collection or Map should be presented to the user as null. This was deemed by the JPA experts to be non-trivial and non-demanded by users.

I am curious why this issue came up while trying to implement CMP 2 via JPA.

CMP2 requires that collection valued fields always be non-null (i.e., you always get an empty collection). I wanted to know what guarantees JPA provided in terms of the field being not null. Specifically, if the field is set to null when an empty collection is loaded, I would have to compensate for that in my framework code. Since, JPA does the intelligent thing and inserts an empty collection, my job is easier.

-dain

Reply via email to