Hi, I have a problem when I try to inherit a one-to-many relation ship from a base entity class.
The following model works fine : @PersistenceCapable(identityType = IdentityType.APPLICATION) @Inheritance(strategy = InheritanceStrategy.SUBCLASS_TABLE) public abstract class BaseEntity { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Key key; public Key getKey() { return key; } } @PersistenceCapable(identityType = IdentityType.APPLICATION) public class Community extends BaseEntity { @Persistent @Element(dependent = "true") private List<SpeciesStats> stats = new ArrayList<SpeciesStats>(); public List<SpeciesStats> getStats() { return stats; } @Persistent(dependent = "true") TackleBox tackleBox; public TackleBox getTackleBox() { return tackleBox; } public void setTackleBox(TackleBox tackleBox) { this.tackleBox = tackleBox; } } @PersistenceCapable(identityType = IdentityType.APPLICATION) public class TackleBox extends BaseEntity { /* some other properties that eventually extend BaseEntity and so on */ } But if I move "private List<SpeciesStats> stats" from Community to BaseEntity, I get a runtime exception when trying to read a Community entity : Caused by: java.lang.NullPointerException at org.datanucleus.store.appengine.DatastoreTable.runCallBacks (DatastoreTable.java:1025) at org.datanucleus.store.appengine.DatastoreTable.initializeNonPK (DatastoreTable.java:391) at org.datanucleus.store.appengine.DatastoreTable.buildMapping (DatastoreTable.java:285) at org.datanucleus.store.appengine.DatastoreManager.buildStoreData (DatastoreManager.java:405) at org.datanucleus.store.appengine.DatastoreManager.newStoreData (DatastoreManager.java:363) at org.datanucleus.store.AbstractStoreManager.addClasses (AbstractStoreManager.java:788) at org.datanucleus.store.AbstractStoreManager.addClass (AbstractStoreManager.java:759) at org.datanucleus.store.mapped.MappedStoreManager.getDatastoreClass (MappedStoreManager.java:358) at org.datanucleus.store.appengine.DatastoreManager.getDatastoreClass (DatastoreManager.java:631) at org.datanucleus.store.appengine.query.DatastoreQuery.performExecute (DatastoreQuery.java:212) at org.datanucleus.store.appengine.query.JDOQLQuery.performExecute (JDOQLQuery.java:85) at org.datanucleus.store.query.Query.executeQuery(Query.java:1489) at org.datanucleus.store.query.Query.executeWithArray(Query.java: 1371) at org.datanucleus.store.query.Query.execute(Query.java:1344) at org.datanucleus.jdo.JDOQuery.execute(JDOQuery.java:221) Or trying to persist one : java.lang.NullPointerException at org.datanucleus.store.appengine.DatastoreTable.runCallBacks (DatastoreTable.java:1025) at org.datanucleus.store.appengine.DatastoreTable.initializeNonPK (DatastoreTable.java:391) at org.datanucleus.store.appengine.DatastoreTable.buildMapping (DatastoreTable.java:285) at org.datanucleus.store.appengine.DatastoreManager.buildStoreData (DatastoreManager.java:405) at org.datanucleus.store.appengine.DatastoreManager.newStoreData (DatastoreManager.java:363) at org.datanucleus.store.AbstractStoreManager.addClasses (AbstractStoreManager.java:788) at org.datanucleus.store.AbstractStoreManager.addClass (AbstractStoreManager.java:759) at org.datanucleus.store.mapped.MappedStoreManager.getDatastoreClass (MappedStoreManager.java:358) at org.datanucleus.store.appengine.DatastoreManager.getDatastoreClass (DatastoreManager.java:631) at org.datanucleus.store.appengine.DatastoreFieldManager.buildMappingConsumer (DatastoreFieldManager.java:1008) at org.datanucleus.store.appengine.DatastoreFieldManager.buildMappingConsumer (DatastoreFieldManager.java:998) at org.datanucleus.store.appengine.DatastoreFieldManager.<init> (DatastoreFieldManager.java:133) at org.datanucleus.store.appengine.DatastoreFieldManager.<init> (DatastoreFieldManager.java:167) at org.datanucleus.store.appengine.DatastorePersistenceHandler.insertPreProcess (DatastorePersistenceHandler.java:316) at org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObjects (DatastorePersistenceHandler.java:236) at org.datanucleus.store.appengine.DatastorePersistenceHandler.insertObject (DatastorePersistenceHandler.java:225) at org.datanucleus.state.JDOStateManagerImpl.internalMakePersistent (JDOStateManagerImpl.java:3185) at org.datanucleus.state.JDOStateManagerImpl.makePersistent (JDOStateManagerImpl.java:3161) at org.datanucleus.ObjectManagerImpl.persistObjectInternal (ObjectManagerImpl.java:1298) at org.datanucleus.ObjectManagerImpl.persistObject (ObjectManagerImpl.java:1175) at org.datanucleus.jdo.JDOPersistenceManager.jdoMakePersistent (JDOPersistenceManager.java:669) at org.datanucleus.jdo.JDOPersistenceManager.makePersistent (JDOPersistenceManager.java:694) Same thing if Community inherits from another class that have a List<SpeciesStats> properties, so Community is the only class that have this property. What's wrong ? Did I miss something with the anotations ? Thanks, Pierre -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.