ProxySetupStateManager.setProxyData routing through PersistanceCapable caused
"PersistenceException: null"
----------------------------------------------------------------------------------------------------------
Key: OPENJPA-752
URL: https://issues.apache.org/jira/browse/OPENJPA-752
Project: OpenJPA
Issue Type: Improvement
Components: kernel
Affects Versions: 1.2.0, 1.1.0, 1.0.3, 1.3.0
Reporter: Albert Lee
Assignee: Albert Lee
Priority: Minor
Fix For: 1.0.4, 1.2.1, 1.3.0
The symptom of the problem is an InternalException is thrown from
ProxySetupStateManager.provide*Field method due to mismatched routing to a
PersistenceCapable object: The stack will look like something similar to this:
Exception in thread "main" <openjpa-1.0.3-SNAPSHOT-r420667:649224M 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.newObjectId(BrokerImpl.java:1060)
at
org.apache.openjpa.kernel.DelegatingBroker.newObjectId(DelegatingBroker.java:252)
at
org.apache.openjpa.persistence.EntityManagerImpl.find(EntityManagerImpl.java:347)
at test.Main.main(Main.java:16)
Caused by: <openjpa-1.0.3-SNAPSHOT-r420667:649224M fatal general error>
org.apache.openjpa.persistence.PersistenceException: null
at
org.apache.openjpa.meta.ProxySetupStateManager.providedBooleanField(ProxySetupStateManager.java:206)
at test.BaseNonVersionEntity.pcProvideField(BaseNonVersionEntity.java)
at test.BaseVersionEntity.pcProvideField(BaseVersionEntity.java)
at test.EntityVersionedA.pcProvideField(EntityVersionedA.java)
at
org.apache.openjpa.meta.ProxySetupStateManager.setProxyData(ProxySetupStateManager.java:62)
at
org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1731)
at
org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1613)
at
org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:675)
at
org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:575)
at
org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:500)
... 5 more
NestedThrowables:
<openjpa-1.0.3-SNAPSHOT-r420667:649224M fatal user error>
org.apache.openjpa.persistence.ArgumentException: Unable to resolve type
"test.EntityNonVersionedM" due to previous errors resolving related type
"test.EntityVersionedA".
at
org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:689)
at
org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:575)
at
org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:500)
at
org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:302)
at
org.apache.openjpa.kernel.BrokerImpl.newObjectId(BrokerImpl.java:1060)
at
org.apache.openjpa.kernel.DelegatingBroker.newObjectId(DelegatingBroker.java:252)
at
org.apache.openjpa.persistence.EntityManagerImpl.find(EntityManagerImpl.java:347)
at test.Main.main(Main.java:16)
I shall attach a test case later.
Albert Lee.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.