ok, here it is:

https://issues.apache.org/jira/browse/OPENJPA-914



Michael Dick on 09/02/09 14:08, wrote:
Hi Adam,

The issue caused you more than enough pain - please go ahead and open a JIRA
issue. I can't promise that we'll have it fixed immediately but we should do
a better job here.

-mike

On Mon, Feb 9, 2009 at 7:19 AM, Adam Hardy <[email protected]>wrote:

After a frustrating time building a test project to isolate what I thought
was a new issue, I discovered that there was nothing wrong with my project,
I had just  forgotten to add one entity class to the PCEnhancer command
during my build-time enhancement routine.

So the class was unenhanced.

With RuntimeUnenhancedClasses set to unsupported, instead of receiving a
"cannot run with unenhanced classes" error, OpenJPA threw the exceptions
below.

I think this definitely qualifies as a bug - OpenJPA is throwing the wrong
exception. It definitely misled me for a while.

Shall I open a JIRA for it?


Regards
Adam


Adam Hardy on 08/02/09 23:46, wrote:

Following on from my initial response, I copied the superclass into the
same project so that the enhancer can process the class file properly.

It looks like I'm taking the scenic route around all the OpenJPA issues
right now.

I hit this problem with enhanced files that doesn't happen with the
unenhanced.

I carefully set the property openjpa.RuntimeUnenhancedClasses=unsupported
so I can be certain I am running with the enhanced classes.

So with build-time enhancement, I get stacktraces of exceptions as
follows, although it's not clear which is the original cause:

Caused by: java.lang.IllegalStateException: No registered metadata for
type "class org.permacode.patternrepo.domain.entity.CollatedRun".
       at
org.apache.openjpa.enhance.PCRegistry.getMeta(PCRegistry.java:255)

NestedThrowables:
<openjpa-1.2.0-r422266:683325 fatal user error>
org.apache.openjpa.persistence.ArgumentException: Unable to resolve type
"org.permacode.patternrepo.domain.entity.TestAnalysis" due to previous
errors resolving related type
"org.permacode.patternrepo.domain.entity.CollatedRun".
       at
org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:731)


<openjpa-1.2.0-r422266:683325 fatal user error>
org.apache.openjpa.persistence.ArgumentException: Unable to resolve type
"org.permacode.patternrepo.domain.entity.Weighting" due to previous errors
resolving related type
"org.permacode.patternrepo.domain.entity.CollatedRun".
       at
org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:731)


<openjpa-1.2.0-r422266:683325 fatal user error>
org.apache.openjpa.persistence.ArgumentException: Attempt to map
"org.permacode.patternrepo.domain.entity.CollatedRun.portfolio" failed: the
owning entity is not mapped.
       at
org.apache.openjpa.jdbc.meta.MappingInfo.assertTable(MappingInfo.java:547)

java.lang.IllegalStateException: No registered metadata for type "class
org.permacode.patternrepo.domain.entity.CollatedRun".        at
org.apache.openjpa.enhance.PCRegistry.getMeta(PCRegistry.java:255)


I figure that the "no registered metadata for type ..." must be the
original since it appears first and last. It runs fine unenhanced, so what
can it be? Do enhanced entities only work with annotations? These entities
are all mapped via xml.




Reply via email to