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.

Reply via email to