null Values
A field of an object type can have a null
value in Java. The datastore you access
may or may not support null values, and the support may vary depending
on the type of the data. Therefore, you should specify how the JDO
implementation should handle a field with a null
value when it is written to a datastore
that cannot store a null value.
The field
element’s null-value
attribute
in the metadata specifies how this situation should be handled. This
attribute can be given one of the following values:
- "
none
" Indicates that a Java
null
value should be stored as a null in the datastore. If the datastore cannot store a null value, aJDOUserException
is thrown.- "
exception
" Indicates that a
JDOUserException
should always be thrown when a field has anull
value, even if the datastore can store a null value for the field.- "
default
" Indicates the implementation should convert the Java
null
value to the datastore’s default value for the field’s datatype.
If you do not provide a value for the null-value
attribute,
it defaults to "none
“. If you never
want to store a field with a null
value, then you should set the null-value
attribute to "exception
“.
If the null-value
attribute
for a field is set to "default
" and
the field is null
in a transaction,
the datastore’s default value is stored, based on the field’s datastore
datatype. The next transaction that accesses the instance will obtain
this datastore default value. You will have lost the fact that the field
was originally null
.
For ...
Get Java Data Objects now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.