You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Pinaki Poddar (JIRA)" <ji...@apache.org> on 2008/06/18 21:03:44 UTC
[jira] Assigned: (OPENJPA-524) NullPointerException when persisting
a subclass and @Id field is declared in the abstract superclass.
[ https://issues.apache.org/jira/browse/OPENJPA-524?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pinaki Poddar reassigned OPENJPA-524:
-------------------------------------
Assignee: Pinaki Poddar
> NullPointerException when persisting a subclass and @Id field is declared in the abstract superclass.
> -----------------------------------------------------------------------------------------------------
>
> Key: OPENJPA-524
> URL: https://issues.apache.org/jira/browse/OPENJPA-524
> Project: OpenJPA
> Issue Type: Bug
> Components: jpa
> Affects Versions: 1.0.2
> Environment: Windows XP, JDK 1.5.0_14, Build time enhancement
> Reporter: Amit Patel
> Assignee: Pinaki Poddar
> Attachments: NPE.log, OpenJPATest.zip
>
>
> When persisting a subclass that has a superclass with an @Id annotation in it, OpenJPA throws the following NullPointerException:
> Exception in thread "main" <openjpa-1.0.2-r420667:627158 fatal user error> org.apache.openjpa.persistence.ArgumentException: Errors encountered while resolving metadata. See nested exceptions for details.
> at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:522)
> at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:302)
> at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2372)
> at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2225)
> at org.apache.openjpa.kernel.DelegatingBroker.persist(DelegatingBroker.java:1005)
> at org.apache.openjpa.persistence.EntityManagerImpl.persist(EntityManagerImpl.java:541)
> at JpaTest.main(JpaTest.java:37)
> Caused by: <openjpa-1.0.2-r420667:627158 fatal user error> org.apache.openjpa.persistence.ArgumentException: Attempt to map "Person.id" failed: the owning entity is not mapped.
> at org.apache.openjpa.jdbc.meta.MappingInfo.assertTable(MappingInfo.java:544)
> at org.apache.openjpa.jdbc.meta.MappingInfo.createColumns(MappingInfo.java:496)
> at org.apache.openjpa.jdbc.meta.ValueMappingInfo.getColumns(ValueMappingInfo.java:143)
> at org.apache.openjpa.jdbc.meta.strats.PrimitiveFieldStrategy.map(PrimitiveFieldStrategy.java:83)
> at org.apache.openjpa.jdbc.meta.FieldMapping.setStrategy(FieldMapping.java:120)
> at org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy(RuntimeStrategyInstaller.java:80)
> at org.apache.openjpa.jdbc.meta.FieldMapping.resolveMapping(FieldMapping.java:438)
> at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:403)
> at org.apache.openjpa.jdbc.meta.ClassMapping.resolveNonRelationMappings(ClassMapping.java:841)
> at org.apache.openjpa.jdbc.meta.MappingRepository.prepareMapping(MappingRepository.java:322)
> at org.apache.openjpa.meta.MetaDataRepository.preMapping(MetaDataRepository.java:621)
> at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:508)
> ... 6 more
> NestedThrowables:
> java.lang.NullPointerException
> at org.apache.openjpa.jdbc.meta.MappingInfo.mergeJoinColumn(MappingInfo.java:1386)
> at org.apache.openjpa.jdbc.meta.MappingInfo.createJoins(MappingInfo.java:1192)
> at org.apache.openjpa.jdbc.meta.MappingInfo.createForeignKey(MappingInfo.java:954)
> at org.apache.openjpa.jdbc.meta.ValueMappingInfo.getTypeJoin(ValueMappingInfo.java:104)
> at org.apache.openjpa.jdbc.meta.strats.RelationToManyTableFieldStrategy.map(RelationToManyTableFieldStrategy.java:130)
> at org.apache.openjpa.jdbc.meta.strats.RelationCollectionTableFieldStrategy.map(RelationCollectionTableFieldStrategy.java:94)
> at org.apache.openjpa.jdbc.meta.FieldMapping.setStrategy(FieldMapping.java:120)
> at org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy(RuntimeStrategyInstaller.java:80)
> at org.apache.openjpa.jdbc.meta.FieldMapping.resolveMapping(FieldMapping.java:438)
> at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:403)
> at org.apache.openjpa.jdbc.meta.ClassMapping.resolveMapping(ClassMapping.java:812)
> at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1618)
> at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:675)
> at org.apache.openjpa.meta.MetaDataRepository.resolveMapping(MetaDataRepository.java:636)
> at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:514)
> at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:302)
> at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2372)
> at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2225)
> at org.apache.openjpa.kernel.DelegatingBroker.persist(DelegatingBroker.java:1005)
> at org.apache.openjpa.persistence.EntityManagerImpl.persist(EntityManagerImpl.java:541)
> at JpaTest.main(JpaTest.java:37)
> <openjpa-1.0.2-r420667:627158 fatal user error> org.apache.openjpa.persistence.ArgumentException: Attempt to map "Contact.acquireDate" failed: the owning entity is not mapped.
> at org.apache.openjpa.jdbc.meta.MappingInfo.assertTable(MappingInfo.java:544)
> at org.apache.openjpa.jdbc.meta.MappingInfo.createColumns(MappingInfo.java:496)
> at org.apache.openjpa.jdbc.meta.ValueMappingInfo.getColumns(ValueMappingInfo.java:143)
> at org.apache.openjpa.jdbc.meta.strats.PrimitiveFieldStrategy.map(PrimitiveFieldStrategy.java:83)
> at org.apache.openjpa.jdbc.meta.FieldMapping.setStrategy(FieldMapping.java:120)
> at org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy(RuntimeStrategyInstaller.java:80)
> at org.apache.openjpa.jdbc.meta.FieldMapping.resolveMapping(FieldMapping.java:438)
> at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:403)
> at org.apache.openjpa.jdbc.meta.ClassMapping.resolveNonRelationMappings(ClassMapping.java:851)
> at org.apache.openjpa.jdbc.meta.ClassMapping.resolveMapping(ClassMapping.java:808)
> at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1618)
> at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:675)
> at org.apache.openjpa.meta.MetaDataRepository.resolveMapping(MetaDataRepository.java:636)
> at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:514)
> at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:302)
> at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2372)
> at org.apache.openjpa.kernel.BrokerImpl.persist(BrokerImpl.java:2225)
> at org.apache.openjpa.kernel.DelegatingBroker.persist(DelegatingBroker.java:1005)
> at org.apache.openjpa.persistence.EntityManagerImpl.persist(EntityManagerImpl.java:541)
> at JpaTest.main(JpaTest.java:37)
> The attached test case can recreate this error.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.