TECHNOLOGY: openJPA(ORM)
ISSUE:
I have a (one to many relationship)join between two entities. When I try to fetch the entities, it's throwing an error "It is not managed by a mapping that supports joins." What do I need to change for this program to work?
I am running the program using POJO java program and not on any appserver. Do i need to put my entities on appserver to join them?
EXCEPTION:
Exception in thread "main" <openjpa-2.0.0-r422266:935683 fatal user error> org.apache.openjpa.persistence.ArgumentException: You cannot join on column "taccount_new.account_cd". It is not managed by a mapping that supports joins.
at org.apache.openjpa.jdbc.meta.ClassMapping.assertJo inable(ClassMapping.java:283)
at org.apache.openjpa.jdbc.meta.ClassMapping.isForeig nKeyObjectId(ClassMapping.java:347)
at org.apache.openjpa.jdbc.meta.strats.RelationFieldS trategy.initialize(RelationFieldStrategy.java:264)
at org.apache.openjpa.jdbc.meta.FieldMapping.initiali zeMapping(FieldMapping.java:545)
at org.apache.openjpa.jdbc.meta.FieldMapping.resolve( FieldMapping.java:463)
at org.apache.openjpa.jdbc.meta.ClassMapping.initiali zeMapping(ClassMapping.java:905)
at org.apache.openjpa.meta.ClassMetaData.resolve(Clas sMetaData.java:1796)
at org.apache.openjpa.meta.MetaDataRepository.resolve Mapping(MetaDataRepository.java:760)
at org.apache.openjpa.meta.MetaDataRepository.resolve (MetaDataRepository.java:631)
at org.apache.openjpa.meta.MetaDataRepository.getMeta DataInternal(MetaDataRepository.java:385)
at org.apache.openjpa.meta.MetaDataRepository.getMeta Data(MetaDataRepository.java:358)
at org.apache.openjpa.meta.MetaDataRepository.getMeta Data(MetaDataRepository.java:439)
at org.apache.openjpa.kernel.jpql.JPQLExpressionBuild er.getClassMetaData(JPQLExpressionBuilder.java:176 )
at org.apache.openjpa.kernel.jpql.JPQLExpressionBuild er.resolveClassMetaData(JPQLExpressionBuilder.java :152)
at org.apache.openjpa.kernel.jpql.JPQLExpressionBuild er.getCandidateMetaData(JPQLExpressionBuilder.java :242)
at org.apache.openjpa.kernel.jpql.JPQLExpressionBuild er.getCandidateMetaData(JPQLExpressionBuilder.java :212)
at org.apache.openjpa.kernel.jpql.JPQLExpressionBuild er.getCandidateType(JPQLExpressionBuilder.java:205 )
at org.apache.openjpa.kernel.jpql.JPQLExpressionBuild er.access$200(JPQLExpressionBuilder.java:81)
at org.apache.openjpa.kernel.jpql.JPQLExpressionBuild er$ParsedJPQL.populate(JPQLExpressionBuilder.java: 2387)
at org.apache.openjpa.kernel.jpql.JPQLParser.populate (JPQLParser.java:61)
at org.apache.openjpa.kernel.ExpressionStoreQuery.pop ulateFromCompilation(ExpressionStoreQuery.java:154 )
at org.apache.openjpa.kernel.QueryImpl.newCompilation (QueryImpl.java:671)
at org.apache.openjpa.kernel.QueryImpl.compilationFro mCache(QueryImpl.java:652)
at org.apache.openjpa.kernel.QueryImpl.compileForComp ilation(QueryImpl.java:618)
at org.apache.openjpa.kernel.QueryImpl.compileForExec utor(QueryImpl.java:680)
at org.apache.openjpa.kernel.QueryImpl.compile(QueryI mpl.java:587)
at org.apache.openjpa.persistence.EntityManagerImpl.c reateQuery(EntityManagerImpl.java:985)
at org.apache.openjpa.persistence.EntityManagerImpl.c reateQuery(EntityManagerImpl.java:971)
at org.apache.openjpa.persistence.EntityManagerImpl.c reateQuery(EntityManagerImpl.java:100)
at com.rbc.boa.EntityBroker.getAllParty(EntityBroker. java:51)
at com.rbc.boa.JPAMain.party(JPAMain.java:49)
at com.rbc.boa.JPAMain.main(JPAMain.java:20)