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

Reply via email to