Yeah, I did. My mistake, I left that out in my code above. There *is* a
@MappedSuperclass annotation on the superclass Identifiable. The precise
stack trace of the exception is as follows; it is at the end of a long
stream of nested exceptions. The exception happens after I attempt to
create a query.
<openjpa-2.0.0-r422266:935683 fatal user error>
org.apache.openjpa.persistence.ArgumentException: Superclass field
"java.lang.Object.id" is mapped in the metadata for subclass
"org.ltmc.eve.dump.inventory.Group", but is not a persistent field.
at
org.apache.openjpa.meta.ClassMetaData.getSuperclassField(ClassMetaData.java:1093)
at
org.apache.openjpa.meta.ClassMetaData.resolveDefinedSuperclassFields(ClassMetaData.java:1387)
at
org.apache.openjpa.meta.ClassMetaData.defineSuperclassFields(ClassMetaData.java:1365)
at
org.apache.openjpa.jdbc.meta.MappingRepository.prepareMapping(MappingRepository.java:412)
at
org.apache.openjpa.meta.MetaDataRepository.preMapping(MetaDataRepository.java:736)
at
org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:625)
at
org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:385)
at
org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:358)
at
org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:439)
at
org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getClassMetaData(JPQLExpressionBuilder.java:176)
at
org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.resolveClassMetaData(JPQLExpressionBuilder.java:152)
at
org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateMetaData(JPQLExpressionBuilder.java:242)
at
org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateMetaData(JPQLExpressionBuilder.java:212)
at
org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateType(JPQLExpressionBuilder.java:205)
at
org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.access$200(JPQLExpressionBuilder.java:81)
at
org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.populate(JPQLExpressionBuilder.java:2387)
at
org.apache.openjpa.kernel.jpql.JPQLParser.populate(JPQLParser.java:61)
at
org.apache.openjpa.kernel.ExpressionStoreQuery.populateFromCompilation(ExpressionStoreQuery.java:154)
at
org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:671)
at
org.apache.openjpa.kernel.QueryImpl.compilationFromCache(QueryImpl.java:652)
at
org.apache.openjpa.kernel.QueryImpl.compileForCompilation(QueryImpl.java:618)
at
org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:680)
at org.apache.openjpa.kernel.QueryImpl.compile(QueryImpl.java:587)
at
org.apache.openjpa.persistence.EntityManagerImpl.createQuery(EntityManagerImpl.java:985)
at
org.apache.openjpa.persistence.EntityManagerImpl.createQuery(EntityManagerImpl.java:971)
at
org.apache.openjpa.persistence.EntityManagerImpl.createQuery(EntityManagerImpl.java:100)
... (my code stack trace after this)
Thanks,
atanamir
--
View this message in context:
http://openjpa.208410.n2.nabble.com/Generic-MappedSuperclass-tp5021841p5023229.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.