Hi, Jeroen.
I've seen on Estatio that the following annotations are repeat for each class,
despite you have a base class defined (EstatioMutableObject):
@javax.jdo.annotations.PersistenceCapable(identityType = IdentityType.DATASTORE)
@javax.jdo.annotations.DatastoreIdentity(
strategy = IdGeneratorStrategy.NATIVE,
column = "id")
As per [1], seems that it's just enough to annotate just the base class. Citing:
When you have an inheritance hierarchy, you should specify the identity type in
the base class for the inheritance tree. This is then used for all persistent
classes in the tree.
What I'm not finding on the DataNucleus documentation any explicit reference
that indicates whether:
@javax.jdo.annotations.Version(
strategy = VersionStrategy.VERSION_NUMBER,
column = "version")
must be annotated on each class on a hierarchy, or it's just enough to annotate
the base class.
Same happens with:
@javax.jdo.annotations.Discriminator(
strategy = DiscriminatorStrategy.CLASS_NAME,
column="discriminator")
Does it respond to any "hidden" issue with JDO, DataNucleus, etc.?
Perhaps it would be enough to just annotate EstatioMutableObject.
Thanks,
Oscar
[1] http://www.datanucleus.org/products/datanucleus/jdo/datastore_identity.html