The inverse map implementation only works if the owner field is
allowed to be nullable or the owner is set explicitly before the value
object is put in the map.
This can easily be demonstrated by adding null-value="exception"
to the owner field in InverseMapValue.jdo, and running
A workaround is to explicitly set the owner for the value before
adding it to the map. This can be demonstrated by adding to
imv.setOwner(this);//first line of method
and replacing the assertion on line 105/106 with
At the moment this issue makes inverse maps unusable without
the special workaround programming with databases such as
Firebird that require all columns in a candidate key to be not null.
Log in to post a comment.