You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by Dain Sundstrom <da...@iq80.com> on 2007/02/13 04:01:36 UTC
Do mapped superclasses work at all in OpenJPA?
When I try to use a simple mapped super class with a trivial sub
class (no fields or methods), I get the following exception:
ERROR - The bean instances business method encountered a system
exception:org.apache.openejb.test.entity.cmp.BasicCmpBean.pcGetManagedFi
eldCount()I
java.lang.NoSuchMethodError:
org.apache.openejb.test.entity.cmp.BasicCmpBean.pcGetManagedFieldCount
()I
at openejb.org.apache.openejb.test.entity.cmp.BasicCmpBean.<clinit>
(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at org.apache.openjpa.meta.MetaDataRepository.classForName
(MetaDataRepository.java:1224)
at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes
(MetaDataRepository.java:1212)
at
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings
(JDBCBrokerFactory.java:145)
at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl
(JDBCBrokerFactory.java:127)
at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker
(AbstractBrokerFactory.java:164)
at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker
(DelegatingBrokerFactory.java:139)
at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityMana
ger(EntityManagerFactoryImpl.java:187)
at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityMana
ger(EntityManagerFactoryImpl.java:52)
at
org.apache.openejb.persistence.JtaEntityManagerRegistry.getEntityManager
(JtaEntityManagerRegistry.java:105)
Which seems to indicate to me that OpenJPA isn't enhancing the mapped
super class. Does OpenJPA support mapped super classes?
Here is are my entity mappings:
<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
version="1.0">
<mapped-superclass
class="org.apache.openejb.test.entity.cmp.BasicCmpBean">
<attributes>
<id name="primaryKey"/>
<basic name="firstName"/>
<basic name="lastName"/>
<transient name="nextId"/>
<transient name="ejbContext"/>
<transient name="allowedOperationsTable"/>
</attributes>
</mapped-superclass>
<entity name="BasicCmpBean"
class="openejb.org.apache.openejb.test.entity.cmp.BasicCmpBean">
<description>BasicCmpBean</description>
<attribute-override name="primaryKey">
<column name="primaryKey"/>
</attribute-override>
<attribute-override name="firstName">
<column name="firstName"/>
</attribute-override>
<attribute-override name="lastName">
<column name="lastName"/>
</attribute-override>
</entity>
</entity-mappings>
Thanks for any help,
-dain
Re: Do mapped superclasses work at all in OpenJPA?
Posted by Craig L Russell <Cr...@Sun.COM>.
Hi Dain,
Sorry for not being clear. My comment was supposed to be about xml
bugs in general.
The annotations are very well tested in the TCK; the xml "overrides"
are reputedly less well tested, so it's likely that there are bugs to
be found in implementations, even if they pass the TCK. I have seen
several bugs reported in OpenJPA related to xml processing, and
included an example. I see that Marc has also filed an xml-related
issue just last night.
Craig
On Feb 12, 2007, at 10:42 PM, Dain Sundstrom wrote:
> Are you sure that is the right issue? It seems to be about a
> different problem.
>
> -dain
>
> On Feb 12, 2007, at 7:14 PM, Craig L Russell wrote:
>
>> Hi Dain,
>>
>> This might be related to a bug in xml overrides http://
>> issues.apache.org/jira/browse/OPENJPA-97. Just fer grins, do you
>> have a way to annotate the mapped superclass?
>>
>> Craig
>>
>> On Feb 12, 2007, at 7:01 PM, Dain Sundstrom wrote:
>>
>>> When I try to use a simple mapped super class with a trivial sub
>>> class (no fields or methods), I get the following exception:
>>>
>>> ERROR - The bean instances business method encountered a system
>>> exception:org.apache.openejb.test.entity.cmp.BasicCmpBean.pcGetManag
>>> edFieldCount()I
>>> java.lang.NoSuchMethodError:
>>> org.apache.openejb.test.entity.cmp.BasicCmpBean.pcGetManagedFieldCou
>>> nt()I
>>> at
>>> openejb.org.apache.openejb.test.entity.cmp.BasicCmpBean.<clinit>
>>> (Unknown Source)
>>> at java.lang.Class.forName0(Native Method)
>>> at java.lang.Class.forName(Class.java:242)
>>> at org.apache.openjpa.meta.MetaDataRepository.classForName
>>> (MetaDataRepository.java:1224)
>>> at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes
>>> (MetaDataRepository.java:1212)
>>> at
>>> org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings
>>> (JDBCBrokerFactory.java:145)
>>> at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl
>>> (JDBCBrokerFactory.java:127)
>>> at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker
>>> (AbstractBrokerFactory.java:164)
>>> at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker
>>> (DelegatingBrokerFactory.java:139)
>>> at
>>> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntity
>>> Manager(EntityManagerFactoryImpl.java:187)
>>> at
>>> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntity
>>> Manager(EntityManagerFactoryImpl.java:52)
>>> at
>>> org.apache.openejb.persistence.JtaEntityManagerRegistry.getEntityMan
>>> ager(JtaEntityManagerRegistry.java:105)
>>>
>>>
>>> Which seems to indicate to me that OpenJPA isn't enhancing the
>>> mapped super class. Does OpenJPA support mapped super classes?
>>>
>>> Here is are my entity mappings:
>>>
>>> <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/
>>> orm" version="1.0">
>>> <mapped-superclass
>>> class="org.apache.openejb.test.entity.cmp.BasicCmpBean">
>>> <attributes>
>>> <id name="primaryKey"/>
>>> <basic name="firstName"/>
>>> <basic name="lastName"/>
>>> <transient name="nextId"/>
>>> <transient name="ejbContext"/>
>>> <transient name="allowedOperationsTable"/>
>>> </attributes>
>>> </mapped-superclass>
>>> <entity name="BasicCmpBean"
>>> class="openejb.org.apache.openejb.test.entity.cmp.BasicCmpBean">
>>> <description>BasicCmpBean</description>
>>> <attribute-override name="primaryKey">
>>> <column name="primaryKey"/>
>>> </attribute-override>
>>> <attribute-override name="firstName">
>>> <column name="firstName"/>
>>> </attribute-override>
>>> <attribute-override name="lastName">
>>> <column name="lastName"/>
>>> </attribute-override>
>>> </entity>
>>> </entity-mappings>
>>>
>>>
>>> Thanks for any help,
>>>
>>> -dain
>>
>> Craig Russell
>> Architect, Sun Java Enterprise System http://java.sun.com/products/
>> jdo
>> 408 276-5638 mailto:Craig.Russell@sun.com
>> P.S. A good JDO? O, Gasp!
>>
>
Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!
Re: Do mapped superclasses work at all in OpenJPA?
Posted by Abe White <aw...@bea.com>.
>>>> Secondly, are we parsing the XML file multiple times? The only
>>>> way for the first warning to be fired is if OpenJPA has read my
>>>> entity mappings, but the exception that is thrown later is a SAX
>>>> exception which implies that OpenJPA is reading the file again.
>>>
>>> Sounds like an inefficient startup algorithm that we should fix.
>>> Issue #3?
>
> We might be parsing it multiple times, but for different reasons and
> with different parsers. Are you listing entities in an orm.xml and
> then
> pointing at that orm.xml / relying on the default location?
IIRC (and that's a fairly big "if"), the first "parse" is more of a
string scan looking for class names than a real XML parse, and is
done with a subclass of ClassArgParser. This is one of those things
that made sense for the way the metadata system warmed up, then we
changed some stuff or the spec changed or both, and it no longer
makes much sense. I had it on my list of things to redo, but it got
pushed off because it hadn't caused enough problems to justify the
effort.
_______________________________________________________________________
Notice: This email message, together with any attachments, may contain
information of BEA Systems, Inc., its subsidiaries and affiliated
entities, that may be confidential, proprietary, copyrighted and/or
legally privileged, and is intended solely for the use of the individual
or entity named in this message. If you are not the intended recipient,
and have received this message in error, please immediately return this
by email and then delete it.
Re: Do mapped superclasses work at all in OpenJPA?
Posted by Dain Sundstrom <da...@iq80.com>.
On Feb 13, 2007, at 11:19 AM, Patrick Linskey wrote:
>>> I also prefer ignoring it consistently. But considering that
>>> enhancement fails, this seems like more than a WARN. More like a
>>> SEVERE. And if you get a SEVERE during enhancement, should we
>>> really put the EMF into service at all? Issue #2?
>>
>> I agree. If we get an enhancement error, I think we should throw an
>> exception from the EMF consturctor. The problem is that enhancement
>> seems to happen only as beans are used (loaded into memory), so the
>> EMF doesn't know that enhancement won't work.
>
> I think that if the classes are listed in the persistence.xml, it will
> fail eagerly. Probably setting exclude-unlisted-classes to true and
> referencing an orm.xml will also cause eager failure.
I have exclude-unlisted-classes false but I am using an explicitly
named mapping file listed in the persistence unit declaration.
>>>> Secondly, are we parsing the XML file multiple times? The only
>>>> way for the first warning to be fired is if OpenJPA has read my
>>>> entity mappings, but the exception that is thrown later is a SAX
>>>> exception which implies that OpenJPA is reading the file again.
>>>
>>> Sounds like an inefficient startup algorithm that we should fix.
>>> Issue #3?
>
> We might be parsing it multiple times, but for different reasons and
> with different parsers. Are you listing entities in an orm.xml and
> then
> pointing at that orm.xml / relying on the default location?
Nope, I have explicitly listed entity mapping file.
-dain
RE: Do mapped superclasses work at all in OpenJPA?
Posted by Patrick Linskey <pl...@bea.com>.
> > I also prefer ignoring it consistently. But considering that
> > enhancement fails, this seems like more than a WARN. More like a
> > SEVERE. And if you get a SEVERE during enhancement, should we
> > really put the EMF into service at all? Issue #2?
>
> I agree. If we get an enhancement error, I think we should throw an
> exception from the EMF consturctor. The problem is that enhancement
> seems to happen only as beans are used (loaded into memory), so the
> EMF doesn't know that enhancement won't work.
I think that if the classes are listed in the persistence.xml, it will
fail eagerly. Probably setting exclude-unlisted-classes to true and
referencing an orm.xml will also cause eager failure.
> >> Secondly, are we parsing the XML file multiple times? The only
> >> way for the first warning to be fired is if OpenJPA has read my
> >> entity mappings, but the exception that is thrown later is a SAX
> >> exception which implies that OpenJPA is reading the file again.
> >
> > Sounds like an inefficient startup algorithm that we should fix.
> > Issue #3?
We might be parsing it multiple times, but for different reasons and
with different parsers. Are you listing entities in an orm.xml and then
pointing at that orm.xml / relying on the default location?
-Patrick
_______________________________________________________________________
Notice: This email message, together with any attachments, may contain
information of BEA Systems, Inc., its subsidiaries and affiliated
entities, that may be confidential, proprietary, copyrighted and/or
legally privileged, and is intended solely for the use of the individual
or entity named in this message. If you are not the intended recipient,
and have received this message in error, please immediately return this
by email and then delete it.
Re: Do mapped superclasses work at all in OpenJPA?
Posted by Dain Sundstrom <da...@iq80.com>.
On Feb 13, 2007, at 9:59 AM, Craig L Russell wrote:
> Hi Dain,
>
> Sounds like a jackpot full of issues here.
>
> On Feb 13, 2007, at 9:17 AM, Dain Sundstrom wrote:
>
>> I found the problem. In my entity mappings file, I had a mapping
>> for a bean that no longer exists. When I comment out that
>> mapping, the problem goes away. I only fond the problem by
>> turning the debug level up
>
> The WARN messages should "usually" print. You have to dial *down*
> the log level to not see them. What was your log level when WARN
> didn't print? Issue #1?
I think it might be ERROR when integrated into OpenEJB. I'll have to
verify and adjust down to WARN so we can see these errors.
>> (the full log is attached). In the log we do warn that the
>> class was not found, but we say we are going to ignore it:
>>
>> 299 CMP WARN [main] openjpa.MetaData - The class
>> "openejb.org.apache.openejb.test.entity.cmr.cmrmapping.OneOwningSideB
>> ean" listed in the openjpa.MetaDataFactory configuration property
>> could not be loaded; ignoring.
>>
>> But later we get a transformation exception due to the missing class:
>>
>> 1243 CMP WARN [main] openjpa.Enhance - An exception was thrown
>> while attempting to perform class file transformation on
>> "org.apache.openejb.test.entity.cmp.BasicCmpBean":
>> <0|false|0.9.7-incubating-SNAPSHOT>
>> org.apache.openjpa.util.GeneralException:
>> org.xml.sax.SAXException: file:/Users/dain/work/openejb/trunk/
>> openejb3/container/openejb-core/target/test-classes/META-INF/jpa-
>> test-mappings.xml [Location: Line: 45, C: 118]: Type
>> "openejb.org.apache.openejb.test.entity.cmr.cmrmapping.OneOwningSideB
>> ean" could not be instantiated.
>>
>>
>> I think we should either ignore the missing class everywhere or
>> throw an exception on the first time we notice the missing class
>> (I prefer the former).
>
> I also prefer ignoring it consistently. But considering that
> enhancement fails, this seems like more than a WARN. More like a
> SEVERE. And if you get a SEVERE during enhancement, should we
> really put the EMF into service at all? Issue #2?
I agree. If we get an enhancement error, I think we should throw an
exception from the EMF consturctor. The problem is that enhancement
seems to happen only as beans are used (loaded into memory), so the
EMF doesn't know that enhancement won't work.
>>
>> Secondly, are we parsing the XML file multiple times? The only
>> way for the first warning to be fired is if OpenJPA has read my
>> entity mappings, but the exception that is thrown later is a SAX
>> exception which implies that OpenJPA is reading the file again.
>
> Sounds like an inefficient startup algorithm that we should fix.
> Issue #3?
:)
-dain
Re: Do mapped superclasses work at all in OpenJPA?
Posted by Craig L Russell <Cr...@Sun.COM>.
Hi Dain,
Sounds like a jackpot full of issues here.
On Feb 13, 2007, at 9:17 AM, Dain Sundstrom wrote:
> I found the problem. In my entity mappings file, I had a mapping
> for a bean that no longer exists. When I comment out that mapping,
> the problem goes away. I only fond the problem by turning the
> debug level up
The WARN messages should "usually" print. You have to dial *down* the
log level to not see them. What was your log level when WARN didn't
print? Issue #1?
> (the full log is attached). In the log we do warn that the class
> was not found, but we say we are going to ignore it:
>
> 299 CMP WARN [main] openjpa.MetaData - The class
> "openejb.org.apache.openejb.test.entity.cmr.cmrmapping.OneOwningSideBe
> an" listed in the openjpa.MetaDataFactory configuration property
> could not be loaded; ignoring.
>
> But later we get a transformation exception due to the missing class:
>
> 1243 CMP WARN [main] openjpa.Enhance - An exception was thrown
> while attempting to perform class file transformation on
> "org.apache.openejb.test.entity.cmp.BasicCmpBean":
> <0|false|0.9.7-incubating-SNAPSHOT>
> org.apache.openjpa.util.GeneralException: org.xml.sax.SAXException:
> file:/Users/dain/work/openejb/trunk/openejb3/container/openejb-core/
> target/test-classes/META-INF/jpa-test-mappings.xml [Location: Line:
> 45, C: 118]: Type
> "openejb.org.apache.openejb.test.entity.cmr.cmrmapping.OneOwningSideBe
> an" could not be instantiated.
>
>
> I think we should either ignore the missing class everywhere or
> throw an exception on the first time we notice the missing class (I
> prefer the former).
I also prefer ignoring it consistently. But considering that
enhancement fails, this seems like more than a WARN. More like a
SEVERE. And if you get a SEVERE during enhancement, should we really
put the EMF into service at all? Issue #2?
>
> Secondly, are we parsing the XML file multiple times? The only way
> for the first warning to be fired is if OpenJPA has read my entity
> mappings, but the exception that is thrown later is a SAX exception
> which implies that OpenJPA is reading the file again.
Sounds like an inefficient startup algorithm that we should fix.
Issue #3?
Craig
>
> The full log follows this email.
>
> Thanks for the help,
>
> -dain
>
>
>
> /System/Library/Frameworks/JavaVM.framework/Versions/1.5/Home/bin/
> java -javaagent:target/openejb-javaagent-3.0-incubating-
> SNAPSHOT.jar -Dopenejb.home=target/test-classes/ -
> Dfile.encoding=MacRoman -classpath /System/Library/Frameworks/
> JavaVM.framework/Versions/1.5.0/Home/lib/deploy.jar:/System/Library/
> Frameworks/JavaVM.framework/Versions/1.5.0/Classes/dt.jar:/System/
> Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jce.jar:/
> System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/
> plugin.jar:/System/Library/Frameworks/JavaVM.framework/Versions/
> 1.5.0/Home/lib/sa-jdi.jar:/System/Library/Frameworks/
> JavaVM.framework/Versions/1.5.0/Classes/charsets.jar:/System/
> Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/
> classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/
> 1.5.0/Classes/jconsole.jar:/System/Library/Frameworks/
> JavaVM.framework/Versions/1.5.0/Classes/jsse.jar:/System/Library/
> Frameworks/JavaVM.framework/Versions/1.5.0/Classes/laf.jar:/System/
> Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/ui.jar:/
> System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/
> ext/apple_provider.jar:/System/Library/Frameworks/JavaVM.framework/
> Versions/1.5.0/Home/lib/ext/dnsns.jar:/System/Library/Frameworks/
> JavaVM.framework/Versions/1.5.0/Home/lib/ext/localedata.jar:/System/
> Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext/
> sunjce_provider.jar:/Users/dain/work/openejb/trunk/openejb3/
> examples/helloworld-stateful-pojo/target/test-classes:/Users/dain/
> work/openejb/trunk/openejb3/examples/helloworld-stateful-pojo/
> target/classes:/Users/dain/.m2/repository/junit/junit/3.8.1/
> junit-3.8.1.jar:/Users/dain/.m2/repository/org/apache/geronimo/
> specs/geronimo-interceptor_3.0_spec/1.0-SNAPSHOT/geronimo-
> interceptor_3.0_spec-1.0-SNAPSHOT.jar:/Users/dain/work/openejb/
> trunk/openejb3/container/openejb-jee/target/test-classes:/Users/
> dain/work/openejb/trunk/openejb3/container/openejb-jee/target/
> classes:/Users/dain/.m2/repository/stax/stax-api/1.0/stax-
> api-1.0.jar:/Users/dain/.m2/repository/javax/activation/activation/
> 1.1/activation-1.1.jar:/Users/dain/.m2/repository/junit/junit/4.1/
> junit-4.1.jar:/Users/dain/.m2/repository/com/sun/xml/bind/jaxb-impl/
> 2.0.3/jaxb-impl-2.0.3.jar:/Users/dain/.m2/repository/javax/xml/bind/
> jsr173_api/1.0/jsr173_api-1.0.jar:/Users/dain/.m2/repository/javax/
> xml/bind/jaxb-api/2.0/jaxb-api-2.0.jar:/Users/dain/.m2/repository/
> org/apache/geronimo/specs/geronimo-activation_1.1_spec/1.0-M1/
> geronimo-activation_1.1_spec-1.0-M1.jar:/Users/dain/.m2/repository/
> org/apache/xbean/xbean-finder/2.9-SNAPSHOT/xbean-finder-2.9-
> SNAPSHOT.jar:/Users/dain/.m2/repository/commons-collections/commons-
> collections/3.1/commons-collections-3.1.jar:/Users/dain/.m2/
> repository/oro/oro/2.0.8/oro-2.0.8.jar:/Users/dain/work/openejb/
> trunk/openejb3/container/openejb-core/target/test-classes:/Users/
> dain/work/openejb/trunk/openejb3/container/openejb-core/target/
> classes:/Users/dain/.m2/repository/commons-logging/commons-logging/
> 1.0.4/commons-logging-1.0.4.jar:/Users/dain/.m2/repository/log4j/
> log4j/1.2.12/log4j-1.2.12.jar:/Users/dain/.m2/repository/regexp/
> regexp/1.3/regexp-1.3.jar:/Users/dain/.m2/repository/commons-
> primitives/commons-primitives/1.0/commons-primitives-1.0.jar:/Users/
> dain/.m2/repository/commons-logging/commons-logging-api/1.0.4/
> commons-logging-api-1.0.4.jar:/Users/dain/.m2/repository/antlr/
> antlr/2.7.2/antlr-2.7.2.jar:/Users/dain/work/openejb/trunk/openejb3/
> container/openejb-loader/target/test-classes:/Users/dain/work/
> openejb/trunk/openejb3/container/openejb-loader/target/classes:/
> Users/dain/.m2/repository/org/apache/geronimo/specs/geronimo-
> servlet_2.5_spec/1.1-M1/geronimo-servlet_2.5_spec-1.1-M1.jar:/Users/
> dain/.m2/repository/cglib/cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar:/
> Users/dain/.m2/repository/xerces/xercesImpl/2.4.0/
> xercesImpl-2.4.0.jar:/Users/dain/.m2/repository/asm/asm-tree/2.2.3/
> asm-tree-2.2.3.jar:/Users/dain/.m2/repository/asm/asm/2.2.3/
> asm-2.2.3.jar:/Users/dain/.m2/repository/asm/asm-commons/2.2.3/asm-
> commons-2.2.3.jar:/Users/dain/.m2/repository/org/apache/derby/derby/
> 10.2.1.6/derby-10.2.1.6.jar:/Users/dain/.m2/repository/org/
> springframework/spring/2.0/spring-2.0.jar:/Users/dain/work/openejb/
> trunk/openejb3/itests/openejb-itests-beans/target/test-classes:/
> Users/dain/work/openejb/trunk/openejb3/itests/openejb-itests-beans/
> target/classes:/Users/dain/.m2/repository/ant/ant/1.6.5/
> ant-1.6.5.jar:/Users/dain/.m2/repository/commons-lang/commons-lang/
> 2.1/commons-lang-2.1.jar:/Users/dain/.m2/repository/xerces/
> xercesImpl/2.6.2/xercesImpl-2.6.2.jar:/Users/dain/.m2/repository/
> javax/persistence/persistence-api/1.0/persistence-api-1.0.jar:/
> Users/dain/.m2/repository/net/sourceforge/serp/serp/1.11.0/
> serp-1.11.0.jar:/Users/dain/.m2/repository/commons-collections/
> commons-collections/3.2/commons-collections-3.2.jar:/Users/dain/.m2/
> repository/commons-pool/commons-pool/1.3/commons-pool-1.3.jar:/
> Users/dain/.m2/repository/xerces/xmlParserAPIs/2.2.1/
> xmlParserAPIs-2.2.1.jar:/Users/dain/.m2/repository/hsqldb/hsqldb/
> 1.8.0.7/hsqldb-1.8.0.7.jar:/Users/dain/.m2/repository/org/apache/
> geronimo/specs/geronimo-jms_1.1_spec/1.1/geronimo-
> jms_1.1_spec-1.1.jar:/Users/dain/.m2/repository/org/apache/geronimo/
> specs/geronimo-j2ee-connector_1.5_spec/1.1/geronimo-j2ee-
> connector_1.5_spec-1.1.jar:/Users/dain/.m2/repository/org/apache/
> geronimo/specs/geronimo-jta_1.1_spec/1.0/geronimo-
> jta_1.1_spec-1.0.jar:/Users/dain/.m2/repository/org/apache/geronimo/
> specs/geronimo-annotation_1.0_spec/1.0/geronimo-
> annotation_1.0_spec-1.0.jar:/Users/dain/.m2/repository/org/apache/
> geronimo/specs/geronimo-ejb_3.0_spec/1.0/geronimo-
> ejb_3.0_spec-1.0.jar:/Users/dain/.m2/repository/org/apache/openjpa/
> openjpa-jdbc-5/0.9.7-incubating-SNAPSHOT/openjpa-jdbc-5-0.9.7-
> incubating-SNAPSHOT.jar:/Users/dain/.m2/repository/org/apache/
> openjpa/openjpa-jdbc/0.9.7-incubating-SNAPSHOT/openjpa-jdbc-0.9.7-
> incubating-SNAPSHOT.jar:/Users/dain/.m2/repository/org/apache/
> openjpa/openjpa-kernel/0.9.7-incubating-SNAPSHOT/openjpa-
> kernel-0.9.7-incubating-SNAPSHOT.jar:/Users/dain/.m2/repository/org/
> apache/openjpa/openjpa-lib/0.9.7-incubating-SNAPSHOT/openjpa-
> lib-0.9.7-incubating-SNAPSHOT.jar:/Users/dain/.m2/repository/org/
> apache/openjpa/openjpa-persistence/0.9.7-incubating-SNAPSHOT/
> openjpa-persistence-0.9.7-incubating-SNAPSHOT.jar:/Users/dain/.m2/
> repository/org/apache/openjpa/openjpa-persistence-jdbc/0.9.7-
> incubating-SNAPSHOT/openjpa-persistence-jdbc-0.9.7-incubating-
> SNAPSHOT.jar:/Users/dain/.m2/repository/org/apache/openjpa/openjpa-
> kernel-5/0.9.7-incubating-SNAPSHOT/openjpa-kernel-5-0.9.7-
> incubating-SNAPSHOT.jar:/Users/dain/work/openejb/trunk/openejb3/
> itests/openejb-itests-app/target/test-classes:/Users/dain/work/
> openejb/trunk/openejb3/itests/openejb-itests-app/target/classes:/
> Users/dain/work/openejb/trunk/openejb3/itests/openejb-itests-client/
> target/test-classes:/Users/dain/work/openejb/trunk/openejb3/itests/
> openejb-itests-client/target/classes:/Users/dain/.m2/repository/
> activemq/jmdns/1.0-RC2/jmdns-1.0-RC2.jar:/Users/dain/.m2/repository/
> idb/idb/3.26/idb-3.26.jar:/Users/dain/.m2/repository/backport-util-
> concurrent/backport-util-concurrent/2.1/backport-util-
> concurrent-2.1.jar:/Users/dain/.m2/repository/commons-dbcp/commons-
> dbcp/1.2.1/commons-dbcp-1.2.1.jar:/Users/dain/.m2/repository/
> commons-pool/commons-pool/1.2/commons-pool-1.2.jar:/Users/dain/.m2/
> repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar:/Users/
> dain/.m2/repository/org/apache/geronimo/specs/geronimo-
> jaxrpc_1.1_spec/1.1/geronimo-jaxrpc_1.1_spec-1.1.jar:/Users/
> dain/.m2/repository/org/apache/geronimo/specs/geronimo-j2ee-
> deployment_1.1_spec/1.1/geronimo-j2ee-deployment_1.1_spec-1.1.jar:/
> Users/dain/work/openejb/trunk/openejb3/container/openejb-javaagent/
> target/test-classes:/Users/dain/work/openejb/trunk/openejb3/
> container/openejb-javaagent/target/classes:/Users/dain/.m2/
> repository/org/apache/xbean/xbean-reflect/2.8/xbean-
> reflect-2.8.jar:/Users/dain/.m2/repository/org/apache/geronimo/
> specs/geronimo-jpa_3.0_spec/1.0/geronimo-jpa_3.0_spec-1.0.jar:/
> Users/dain/.m2/repository/org/apache/xbean/xbean-naming/2.8/xbean-
> naming-2.8.jar:/Users/dain/.m2/repository/org/apache/geronimo/specs/
> geronimo-j2ee-management_1.1_spec/1.0-M1/geronimo-j2ee-
> management_1.1_spec-1.0-M1.jar:/Users/dain/.m2/repository/org/
> tranql/tranql/1.4.1/tranql-1.4.1.jar:/Users/dain/.m2/repository/org/
> apache/geronimo/specs/geronimo-interceptor_3.0_spec/1.0/geronimo-
> interceptor_3.0_spec-1.0.jar:/Users/dain/.m2/repository/org/
> codehaus/swizzle/swizzle-stream/1.0.1/swizzle-stream-1.0.1.jar:/
> Users/dain/.m2/repository/mx4j/mx4j/3.0.1/mx4j-3.0.1.jar:/Users/
> dain/.m2/repository/org/apache/geronimo/modules/geronimo-kernel/2.0-
> SNAPSHOT/geronimo-kernel-2.0-SNAPSHOT.jar:/Users/dain/.m2/
> repository/org/apache/geronimo/modules/geronimo-connector/2.0-
> SNAPSHOT/geronimo-connector-2.0-SNAPSHOT.jar:/Users/dain/.m2/
> repository/org/apache/geronimo/modules/geronimo-transaction/2.0-
> SNAPSHOT/geronimo-transaction-2.0-SNAPSHOT.jar:/Users/dain/.m2/
> repository/xstream/xstream/1.1.3/xstream-1.1.3.jar:/Users/dain/.m2/
> repository/xpp3/xpp3/1.1.3.3/xpp3-1.1.3.3.jar:/Users/dain/.m2/
> repository/org/apache/geronimo/specs/geronimo-jacc_1.1_spec/1.0-M2/
> geronimo-jacc_1.1_spec-1.0-M2.jar:/Users/dain/.m2/repository/org/
> codehaus/castor/castor/1.0.5/castor-1.0.5.jar:/Users/dain/.m2/
> repository/org/apache/activemq/activemq-core/4.1.0-incubator/
> activemq-core-4.1.0-incubator.jar:/Users/dain/.m2/repository/org/
> apache/activemq/activemq-ra/4.1.0-incubator/activemq-ra-4.1.0-
> incubator.jar:/Users/dain/.m2/repository/org/apache/geronimo/specs/
> geronimo-jta_1.1_spec/1.0-SNAPSHOT/geronimo-jta_1.1_spec-1.0-
> SNAPSHOT.jar:/Users/dain/.m2/repository/org/apache/geronimo/specs/
> geronimo-ejb_3.0_spec/1.0-SNAPSHOT/geronimo-ejb_3.0_spec-1.0-
> SNAPSHOT.jar:/Users/dain/.m2/repository/org/apache/geronimo/specs/
> geronimo-annotation_1.0_spec/1.0-SNAPSHOT/geronimo-
> annotation_1.0_spec-1.0-SNAPSHOT.jar:/Users/dain/.m2/repository/org/
> apache/geronimo/specs/geronimo-jms_1.1_spec/1.0/geronimo-
> jms_1.1_spec-1.0.jar:/Users/dain/.m2/repository/hsqldb/hsqldb/
> 1.8.0.1/hsqldb-1.8.0.1.jar:/Applications/IntelliJ IDEA 5.1.1.app/
> lib/idea_rt.jar com.intellij.rt.execution.junit2.JUnitStarter -
> ideVersion5 org.apache.openejb.core.cmp.jpa.JpaTest
> 124 CMP INFO [main] openjpa.MetaData - Found 4 classes with
> metadata in 11 milliseconds.
> 92 CMP INFO [main] openjpa.Runtime - Starting OpenJPA 0.9.7-
> incubating-SNAPSHOT
> 135 CMP INFO [main] openjpa.jdbc.JDBC - OpenJPA will now
> connect to the database to attempt to determine what type of
> database dictionary to use. To prevent this connection in the
> future, set your openjpa.jdbc.DBDictionary configuration property
> to the appropriate value for your database (see the documentation
> for available values).
> 195 CMP INFO [main] openjpa.jdbc.JDBC - Using dictionary class
> "org.apache.openjpa.jdbc.sql.HSQLDictionary" (HSQL Database Engine
> 1.8.0 ,HSQL Database Engine Driver 1.8.0).
> 297 CMP INFO [main] openjpa.MetaData - Found 4 classes with
> metadata in 5 milliseconds.
> 299 CMP WARN [main] openjpa.MetaData - The class
> "openejb.org.apache.openejb.test.entity.cmr.cmrmapping.OneOwningSideBe
> an" listed in the openjpa.MetaDataFactory configuration property
> could not be loaded; ignoring.
> Loading org/apache/openejb/test/entity/cmp/BasicCmpBean
> 661 CMP INFO [main] openjpa.MetaData - Parsing resource "file:/
> Users/dain/work/openejb/trunk/openejb3/container/openejb-core/
> target/test-classes/META-INF/jpa-test-mappings.xml".
> 1177 CMP INFO [main] openjpa.MetaData - Parsing class
> "org.apache.openejb.test.entity.cmp.BasicCmpBean".
> 1212 CMP INFO [main] openjpa.MetaData - Parsing class
> "org.apache.openejb.test.entity.cmp.BasicCmpBean".
> 1213 CMP INFO [main] openjpa.MetaData - Parsing package
> "org.apache.openejb.test.entity.cmp.BasicCmpBean".
> 1230 CMP INFO [main] openjpa.MetaData - Parsing class
> "org.apache.openejb.core.cmp.jpa.BasicCmpBean_Subclass".
> 1231 CMP INFO [main] openjpa.MetaData - Parsing class
> "org.apache.openejb.core.cmp.jpa.BasicCmpBean_Subclass".
> 1232 CMP INFO [main] openjpa.MetaData - Parsing package
> "org.apache.openejb.core.cmp.jpa.BasicCmpBean_Subclass".
> 1243 CMP WARN [main] openjpa.Enhance - An exception was thrown
> while attempting to perform class file transformation on
> "org.apache.openejb.test.entity.cmp.BasicCmpBean":
> <0|false|0.9.7-incubating-SNAPSHOT>
> org.apache.openjpa.util.GeneralException: org.xml.sax.SAXException:
> file:/Users/dain/work/openejb/trunk/openejb3/container/openejb-core/
> target/test-classes/META-INF/jpa-test-mappings.xml [Location: Line:
> 45, C: 118]: Type
> "openejb.org.apache.openejb.test.entity.cmr.cmrmapping.OneOwningSideBe
> an" could not be instantiated.
> at
> org.apache.openjpa.persistence.PersistenceMetaDataFactory.parseXML
> (PersistenceMetaDataFactory.java:233)
> at org.apache.openjpa.persistence.PersistenceMetaDataFactory.load
> (PersistenceMetaDataFactory.java:182)
> at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal
> (MetaDataRepository.java:414)
> at org.apache.openjpa.meta.MetaDataRepository.getMetaData
> (MetaDataRepository.java:272)
> at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:185)
> at org.apache.openjpa.enhance.PCClassFileTransformer.transform
> (PCClassFileTransformer.java:124)
> at org.apache.openjpa.persistence.PersistenceProviderImpl
> $ClassTransformerImpl.transform(PersistenceProviderImpl.java:140)
> at org.apache.openejb.persistence.PersistenceUnitInfoImpl
> $PersistenceClassFileTransformer.transform
> (PersistenceUnitInfoImpl.java:259)
> at sun.instrument.TransformerManager.transform
> (TransformerManager.java:122)
> at sun.instrument.InstrumentationImpl.transform
> (InstrumentationImpl.java:155)
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
> at java.security.SecureClassLoader.defineClass
> (SecureClassLoader.java:124)
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
> at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:242)
> at org.apache.openjpa.meta.MetaDataRepository.classForName
> (MetaDataRepository.java:1226)
> at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes
> (MetaDataRepository.java:1214)
> at
> org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings
> (JDBCBrokerFactory.java:145)
> at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl
> (JDBCBrokerFactory.java:127)
> at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker
> (AbstractBrokerFactory.java:165)
> at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker
> (DelegatingBrokerFactory.java:139)
> at
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityMa
> nager(EntityManagerFactoryImpl.java:187)
> at
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityMa
> nager(EntityManagerFactoryImpl.java:140)
> at
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityMa
> nager(EntityManagerFactoryImpl.java:52)
> at
> org.apache.openejb.core.cmp.jpa.JpaTestObject.createEntityManager
> (JpaTestObject.java:279)
> at org.apache.openejb.core.cmp.jpa.JpaTestObject.beginTx
> (JpaTestObject.java:286)
> at org.apache.openejb.core.cmp.jpa.JpaTestObject.jpaLifecycle
> (JpaTestObject.java:119)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.apache.openejb.core.cmp.jpa.JpaTest.invoke(JpaTest.java:192)
> at org.apache.openejb.core.cmp.jpa.JpaTest.testJta(JpaTest.java:106)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at junit.framework.TestCase.runTest(TestCase.java:154)
> at junit.framework.TestCase.runBare(TestCase.java:127)
> at junit.framework.TestResult$1.protect(TestResult.java:106)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.framework.TestResult.run(TestResult.java:109)
> at junit.framework.TestCase.run(TestCase.java:118)
> at junit.framework.TestSuite.runTest(TestSuite.java:208)
> at junit.framework.TestSuite.run(TestSuite.java:203)
> at junit.textui.TestRunner.doRun(TestRunner.java:116)
> at com.intellij.rt.execution.junit2.IdeaJUnitAgent.doRun
> (IdeaJUnitAgent.java:58)
> at junit.textui.TestRunner.start(TestRunner.java:172)
> at
> com.intellij.rt.execution.junit.TextTestRunner2.startRunnerWithArgs
> (TextTestRunner2.java:23)
> at
> com.intellij.rt.execution.junit2.JUnitStarter.prepareStreamsAndStart
> (JUnitStarter.java:98)
> at com.intellij.rt.execution.junit2.JUnitStarter.main
> (JUnitStarter.java:32)
> Caused by: java.io.IOException: org.xml.sax.SAXException: file:/
> Users/dain/work/openejb/trunk/openejb3/container/openejb-core/
> target/test-classes/META-INF/jpa-test-mappings.xml [Location: Line:
> 45, C: 118]: Type
> "openejb.org.apache.openejb.test.entity.cmr.cmrmapping.OneOwningSideBe
> an" could not be instantiated.
> at org.apache.openjpa.lib.meta.XMLMetaDataParser.parseNewResource
> (XMLMetaDataParser.java:373)
> at org.apache.openjpa.lib.meta.XMLMetaDataParser.parse
> (XMLMetaDataParser.java:312)
> at org.apache.openjpa.lib.meta.XMLMetaDataParser.parse
> (XMLMetaDataParser.java:289)
> at org.apache.openjpa.lib.meta.XMLMetaDataParser.parse
> (XMLMetaDataParser.java:263)
> at
> org.apache.openjpa.persistence.PersistenceMetaDataFactory.parseXML
> (PersistenceMetaDataFactory.java:231)
> ... 59 more
> Caused by: org.xml.sax.SAXException: file:/Users/dain/work/openejb/
> trunk/openejb3/container/openejb-core/target/test-classes/META-INF/
> jpa-test-mappings.xml [Location: Line: 45, C: 118]: Type
> "openejb.org.apache.openejb.test.entity.cmr.cmrmapping.OneOwningSideBe
> an" could not be instantiated.
> at org.apache.openjpa.lib.meta.XMLMetaDataParser.getException
> (XMLMetaDataParser.java:649)
> at org.apache.openjpa.lib.meta.CFMetaDataParser.classForName
> (CFMetaDataParser.java:281)
> at
> org.apache.openjpa.persistence.XMLPersistenceMetaDataParser.classForNa
> me(XMLPersistenceMetaDataParser.java:1664)
> at
> org.apache.openjpa.persistence.XMLPersistenceMetaDataParser.startClass
> (XMLPersistenceMetaDataParser.java:722)
> at org.apache.openjpa.lib.meta.CFMetaDataParser.startElement
> (CFMetaDataParser.java:102)
> at org.apache.openjpa.lib.meta.XMLMetaDataParser.startElement
> (XMLMetaDataParser.java:426)
> at org.apache.xerces.parsers.AbstractSAXParser.startElement
> (Unknown Source)
> at org.apache.xerces.impl.xs.XMLSchemaValidator.startElement
> (Unknown Source)
> at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement
> (Unknown Source)
> at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl
> $FragmentContentDispatcher.dispatch(Unknown Source)
> at
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument
> (Unknown Source)
> at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
> at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
> at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
> at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
> at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
> at org.apache.openjpa.lib.meta.XMLMetaDataParser.parseNewResource
> (XMLMetaDataParser.java:370)
> ... 63 more
> 1289 CMP INFO [main] openjpa.MetaData - Parsing class
> "javax.ejb.EntityContext".
> 1290 CMP INFO [main] openjpa.MetaData - Parsing package
> "javax.ejb.EntityContext".
>
> java.lang.NoSuchMethodError:
> org.apache.openejb.test.entity.cmp.BasicCmpBean.pcGetManagedFieldCount
> ()I
> at org.apache.openejb.core.cmp.jpa.BasicCmpBean_Subclass.<clinit>
> (BasicCmpBean_Subclass.java)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:242)
> at org.apache.openjpa.meta.MetaDataRepository.classForName
> (MetaDataRepository.java:1226)
> at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes
> (MetaDataRepository.java:1214)
> at
> org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings
> (JDBCBrokerFactory.java:145)
> at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl
> (JDBCBrokerFactory.java:127)
> at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker
> (AbstractBrokerFactory.java:165)
> at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker
> (DelegatingBrokerFactory.java:139)
> at
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityMa
> nager(EntityManagerFactoryImpl.java:187)
> at
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityMa
> nager(EntityManagerFactoryImpl.java:140)
> at
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityMa
> nager(EntityManagerFactoryImpl.java:52)
> at
> org.apache.openejb.core.cmp.jpa.JpaTestObject.createEntityManager
> (JpaTestObject.java:279)
> at org.apache.openejb.core.cmp.jpa.JpaTestObject.beginTx
> (JpaTestObject.java:286)
> at org.apache.openejb.core.cmp.jpa.JpaTestObject.jpaLifecycle
> (JpaTestObject.java:119)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:25)
> at org.apache.openejb.core.cmp.jpa.JpaTest.invoke(JpaTest.java:192)
> at org.apache.openejb.core.cmp.jpa.JpaTest.testJta(JpaTest.java:106)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:25)
> at com.intellij.rt.execution.junit2.JUnitStarter.main
> (JUnitStarter.java:32)
>
>
Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!
Re: Do mapped superclasses work at all in OpenJPA?
Posted by Dain Sundstrom <da...@iq80.com>.
I found the problem. In my entity mappings file, I had a mapping for
a bean that no longer exists. When I comment out that mapping, the
problem goes away. I only fond the problem by turning the debug
level up (the full log is attached). In the log we do warn that the
class was not found, but we say we are going to ignore it:
299 CMP WARN [main] openjpa.MetaData - The class
"openejb.org.apache.openejb.test.entity.cmr.cmrmapping.OneOwningSideBean
" listed in the openjpa.MetaDataFactory configuration property could
not be loaded; ignoring.
But later we get a transformation exception due to the missing class:
1243 CMP WARN [main] openjpa.Enhance - An exception was thrown
while attempting to perform class file transformation on
"org.apache.openejb.test.entity.cmp.BasicCmpBean":
<0|false|0.9.7-incubating-SNAPSHOT>
org.apache.openjpa.util.GeneralException: org.xml.sax.SAXException:
file:/Users/dain/work/openejb/trunk/openejb3/container/openejb-core/
target/test-classes/META-INF/jpa-test-mappings.xml [Location: Line:
45, C: 118]: Type
"openejb.org.apache.openejb.test.entity.cmr.cmrmapping.OneOwningSideBean
" could not be instantiated.
I think we should either ignore the missing class everywhere or throw
an exception on the first time we notice the missing class (I prefer
the former).
Secondly, are we parsing the XML file multiple times? The only way
for the first warning to be fired is if OpenJPA has read my entity
mappings, but the exception that is thrown later is a SAX exception
which implies that OpenJPA is reading the file again.
The full log follows this email.
Thanks for the help,
-dain
/System/Library/Frameworks/JavaVM.framework/Versions/1.5/Home/bin/
java -javaagent:target/openejb-javaagent-3.0-incubating-SNAPSHOT.jar -
Dopenejb.home=target/test-classes/ -Dfile.encoding=MacRoman -
classpath /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/
Home/lib/deploy.jar:/System/Library/Frameworks/JavaVM.framework/
Versions/1.5.0/Classes/dt.jar:/System/Library/Frameworks/
JavaVM.framework/Versions/1.5.0/Classes/jce.jar:/System/Library/
Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/plugin.jar:/
System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/sa-
jdi.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/
Classes/charsets.jar:/System/Library/Frameworks/JavaVM.framework/
Versions/1.5.0/Classes/classes.jar:/System/Library/Frameworks/
JavaVM.framework/Versions/1.5.0/Classes/jconsole.jar:/System/Library/
Frameworks/JavaVM.framework/Versions/1.5.0/Classes/jsse.jar:/System/
Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/laf.jar:/
System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/
ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/
Home/lib/ext/apple_provider.jar:/System/Library/Frameworks/
JavaVM.framework/Versions/1.5.0/Home/lib/ext/dnsns.jar:/System/
Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/ext/
localedata.jar:/System/Library/Frameworks/JavaVM.framework/Versions/
1.5.0/Home/lib/ext/sunjce_provider.jar:/Users/dain/work/openejb/trunk/
openejb3/examples/helloworld-stateful-pojo/target/test-classes:/Users/
dain/work/openejb/trunk/openejb3/examples/helloworld-stateful-pojo/
target/classes:/Users/dain/.m2/repository/junit/junit/3.8.1/
junit-3.8.1.jar:/Users/dain/.m2/repository/org/apache/geronimo/specs/
geronimo-interceptor_3.0_spec/1.0-SNAPSHOT/geronimo-
interceptor_3.0_spec-1.0-SNAPSHOT.jar:/Users/dain/work/openejb/trunk/
openejb3/container/openejb-jee/target/test-classes:/Users/dain/work/
openejb/trunk/openejb3/container/openejb-jee/target/classes:/Users/
dain/.m2/repository/stax/stax-api/1.0/stax-api-1.0.jar:/Users/
dain/.m2/repository/javax/activation/activation/1.1/
activation-1.1.jar:/Users/dain/.m2/repository/junit/junit/4.1/
junit-4.1.jar:/Users/dain/.m2/repository/com/sun/xml/bind/jaxb-impl/
2.0.3/jaxb-impl-2.0.3.jar:/Users/dain/.m2/repository/javax/xml/bind/
jsr173_api/1.0/jsr173_api-1.0.jar:/Users/dain/.m2/repository/javax/
xml/bind/jaxb-api/2.0/jaxb-api-2.0.jar:/Users/dain/.m2/repository/org/
apache/geronimo/specs/geronimo-activation_1.1_spec/1.0-M1/geronimo-
activation_1.1_spec-1.0-M1.jar:/Users/dain/.m2/repository/org/apache/
xbean/xbean-finder/2.9-SNAPSHOT/xbean-finder-2.9-SNAPSHOT.jar:/Users/
dain/.m2/repository/commons-collections/commons-collections/3.1/
commons-collections-3.1.jar:/Users/dain/.m2/repository/oro/oro/2.0.8/
oro-2.0.8.jar:/Users/dain/work/openejb/trunk/openejb3/container/
openejb-core/target/test-classes:/Users/dain/work/openejb/trunk/
openejb3/container/openejb-core/target/classes:/Users/dain/.m2/
repository/commons-logging/commons-logging/1.0.4/commons-
logging-1.0.4.jar:/Users/dain/.m2/repository/log4j/log4j/1.2.12/
log4j-1.2.12.jar:/Users/dain/.m2/repository/regexp/regexp/1.3/
regexp-1.3.jar:/Users/dain/.m2/repository/commons-primitives/commons-
primitives/1.0/commons-primitives-1.0.jar:/Users/dain/.m2/repository/
commons-logging/commons-logging-api/1.0.4/commons-logging-
api-1.0.4.jar:/Users/dain/.m2/repository/antlr/antlr/2.7.2/
antlr-2.7.2.jar:/Users/dain/work/openejb/trunk/openejb3/container/
openejb-loader/target/test-classes:/Users/dain/work/openejb/trunk/
openejb3/container/openejb-loader/target/classes:/Users/dain/.m2/
repository/org/apache/geronimo/specs/geronimo-servlet_2.5_spec/1.1-M1/
geronimo-servlet_2.5_spec-1.1-M1.jar:/Users/dain/.m2/repository/cglib/
cglib-nodep/2.1_3/cglib-nodep-2.1_3.jar:/Users/dain/.m2/repository/
xerces/xercesImpl/2.4.0/xercesImpl-2.4.0.jar:/Users/dain/.m2/
repository/asm/asm-tree/2.2.3/asm-tree-2.2.3.jar:/Users/dain/.m2/
repository/asm/asm/2.2.3/asm-2.2.3.jar:/Users/dain/.m2/repository/asm/
asm-commons/2.2.3/asm-commons-2.2.3.jar:/Users/dain/.m2/repository/
org/apache/derby/derby/10.2.1.6/derby-10.2.1.6.jar:/Users/dain/.m2/
repository/org/springframework/spring/2.0/spring-2.0.jar:/Users/dain/
work/openejb/trunk/openejb3/itests/openejb-itests-beans/target/test-
classes:/Users/dain/work/openejb/trunk/openejb3/itests/openejb-itests-
beans/target/classes:/Users/dain/.m2/repository/ant/ant/1.6.5/
ant-1.6.5.jar:/Users/dain/.m2/repository/commons-lang/commons-lang/
2.1/commons-lang-2.1.jar:/Users/dain/.m2/repository/xerces/xercesImpl/
2.6.2/xercesImpl-2.6.2.jar:/Users/dain/.m2/repository/javax/
persistence/persistence-api/1.0/persistence-api-1.0.jar:/Users/
dain/.m2/repository/net/sourceforge/serp/serp/1.11.0/serp-1.11.0.jar:/
Users/dain/.m2/repository/commons-collections/commons-collections/3.2/
commons-collections-3.2.jar:/Users/dain/.m2/repository/commons-pool/
commons-pool/1.3/commons-pool-1.3.jar:/Users/dain/.m2/repository/
xerces/xmlParserAPIs/2.2.1/xmlParserAPIs-2.2.1.jar:/Users/dain/.m2/
repository/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.jar:/Users/dain/.m2/
repository/org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.1/
geronimo-jms_1.1_spec-1.1.jar:/Users/dain/.m2/repository/org/apache/
geronimo/specs/geronimo-j2ee-connector_1.5_spec/1.1/geronimo-j2ee-
connector_1.5_spec-1.1.jar:/Users/dain/.m2/repository/org/apache/
geronimo/specs/geronimo-jta_1.1_spec/1.0/geronimo-
jta_1.1_spec-1.0.jar:/Users/dain/.m2/repository/org/apache/geronimo/
specs/geronimo-annotation_1.0_spec/1.0/geronimo-
annotation_1.0_spec-1.0.jar:/Users/dain/.m2/repository/org/apache/
geronimo/specs/geronimo-ejb_3.0_spec/1.0/geronimo-
ejb_3.0_spec-1.0.jar:/Users/dain/.m2/repository/org/apache/openjpa/
openjpa-jdbc-5/0.9.7-incubating-SNAPSHOT/openjpa-jdbc-5-0.9.7-
incubating-SNAPSHOT.jar:/Users/dain/.m2/repository/org/apache/openjpa/
openjpa-jdbc/0.9.7-incubating-SNAPSHOT/openjpa-jdbc-0.9.7-incubating-
SNAPSHOT.jar:/Users/dain/.m2/repository/org/apache/openjpa/openjpa-
kernel/0.9.7-incubating-SNAPSHOT/openjpa-kernel-0.9.7-incubating-
SNAPSHOT.jar:/Users/dain/.m2/repository/org/apache/openjpa/openjpa-
lib/0.9.7-incubating-SNAPSHOT/openjpa-lib-0.9.7-incubating-
SNAPSHOT.jar:/Users/dain/.m2/repository/org/apache/openjpa/openjpa-
persistence/0.9.7-incubating-SNAPSHOT/openjpa-persistence-0.9.7-
incubating-SNAPSHOT.jar:/Users/dain/.m2/repository/org/apache/openjpa/
openjpa-persistence-jdbc/0.9.7-incubating-SNAPSHOT/openjpa-
persistence-jdbc-0.9.7-incubating-SNAPSHOT.jar:/Users/dain/.m2/
repository/org/apache/openjpa/openjpa-kernel-5/0.9.7-incubating-
SNAPSHOT/openjpa-kernel-5-0.9.7-incubating-SNAPSHOT.jar:/Users/dain/
work/openejb/trunk/openejb3/itests/openejb-itests-app/target/test-
classes:/Users/dain/work/openejb/trunk/openejb3/itests/openejb-itests-
app/target/classes:/Users/dain/work/openejb/trunk/openejb3/itests/
openejb-itests-client/target/test-classes:/Users/dain/work/openejb/
trunk/openejb3/itests/openejb-itests-client/target/classes:/Users/
dain/.m2/repository/activemq/jmdns/1.0-RC2/jmdns-1.0-RC2.jar:/Users/
dain/.m2/repository/idb/idb/3.26/idb-3.26.jar:/Users/dain/.m2/
repository/backport-util-concurrent/backport-util-concurrent/2.1/
backport-util-concurrent-2.1.jar:/Users/dain/.m2/repository/commons-
dbcp/commons-dbcp/1.2.1/commons-dbcp-1.2.1.jar:/Users/dain/.m2/
repository/commons-pool/commons-pool/1.2/commons-pool-1.2.jar:/Users/
dain/.m2/repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar:/
Users/dain/.m2/repository/org/apache/geronimo/specs/geronimo-
jaxrpc_1.1_spec/1.1/geronimo-jaxrpc_1.1_spec-1.1.jar:/Users/dain/.m2/
repository/org/apache/geronimo/specs/geronimo-j2ee-
deployment_1.1_spec/1.1/geronimo-j2ee-deployment_1.1_spec-1.1.jar:/
Users/dain/work/openejb/trunk/openejb3/container/openejb-javaagent/
target/test-classes:/Users/dain/work/openejb/trunk/openejb3/container/
openejb-javaagent/target/classes:/Users/dain/.m2/repository/org/
apache/xbean/xbean-reflect/2.8/xbean-reflect-2.8.jar:/Users/dain/.m2/
repository/org/apache/geronimo/specs/geronimo-jpa_3.0_spec/1.0/
geronimo-jpa_3.0_spec-1.0.jar:/Users/dain/.m2/repository/org/apache/
xbean/xbean-naming/2.8/xbean-naming-2.8.jar:/Users/dain/.m2/
repository/org/apache/geronimo/specs/geronimo-j2ee-
management_1.1_spec/1.0-M1/geronimo-j2ee-management_1.1_spec-1.0-
M1.jar:/Users/dain/.m2/repository/org/tranql/tranql/1.4.1/
tranql-1.4.1.jar:/Users/dain/.m2/repository/org/apache/geronimo/specs/
geronimo-interceptor_3.0_spec/1.0/geronimo-
interceptor_3.0_spec-1.0.jar:/Users/dain/.m2/repository/org/codehaus/
swizzle/swizzle-stream/1.0.1/swizzle-stream-1.0.1.jar:/Users/dain/.m2/
repository/mx4j/mx4j/3.0.1/mx4j-3.0.1.jar:/Users/dain/.m2/repository/
org/apache/geronimo/modules/geronimo-kernel/2.0-SNAPSHOT/geronimo-
kernel-2.0-SNAPSHOT.jar:/Users/dain/.m2/repository/org/apache/
geronimo/modules/geronimo-connector/2.0-SNAPSHOT/geronimo-
connector-2.0-SNAPSHOT.jar:/Users/dain/.m2/repository/org/apache/
geronimo/modules/geronimo-transaction/2.0-SNAPSHOT/geronimo-
transaction-2.0-SNAPSHOT.jar:/Users/dain/.m2/repository/xstream/
xstream/1.1.3/xstream-1.1.3.jar:/Users/dain/.m2/repository/xpp3/
xpp3/1.1.3.3/xpp3-1.1.3.3.jar:/Users/dain/.m2/repository/org/apache/
geronimo/specs/geronimo-jacc_1.1_spec/1.0-M2/geronimo-
jacc_1.1_spec-1.0-M2.jar:/Users/dain/.m2/repository/org/codehaus/
castor/castor/1.0.5/castor-1.0.5.jar:/Users/dain/.m2/repository/org/
apache/activemq/activemq-core/4.1.0-incubator/activemq-core-4.1.0-
incubator.jar:/Users/dain/.m2/repository/org/apache/activemq/activemq-
ra/4.1.0-incubator/activemq-ra-4.1.0-incubator.jar:/Users/dain/.m2/
repository/org/apache/geronimo/specs/geronimo-jta_1.1_spec/1.0-
SNAPSHOT/geronimo-jta_1.1_spec-1.0-SNAPSHOT.jar:/Users/dain/.m2/
repository/org/apache/geronimo/specs/geronimo-ejb_3.0_spec/1.0-
SNAPSHOT/geronimo-ejb_3.0_spec-1.0-SNAPSHOT.jar:/Users/dain/.m2/
repository/org/apache/geronimo/specs/geronimo-annotation_1.0_spec/1.0-
SNAPSHOT/geronimo-annotation_1.0_spec-1.0-SNAPSHOT.jar:/Users/
dain/.m2/repository/org/apache/geronimo/specs/geronimo-jms_1.1_spec/
1.0/geronimo-jms_1.1_spec-1.0.jar:/Users/dain/.m2/repository/hsqldb/
hsqldb/1.8.0.1/hsqldb-1.8.0.1.jar:/Applications/IntelliJ IDEA
5.1.1.app/lib/idea_rt.jar
com.intellij.rt.execution.junit2.JUnitStarter -ideVersion5
org.apache.openejb.core.cmp.jpa.JpaTest
124 CMP INFO [main] openjpa.MetaData - Found 4 classes with
metadata in 11 milliseconds.
92 CMP INFO [main] openjpa.Runtime - Starting OpenJPA 0.9.7-
incubating-SNAPSHOT
135 CMP INFO [main] openjpa.jdbc.JDBC - OpenJPA will now connect
to the database to attempt to determine what type of database
dictionary to use. To prevent this connection in the future, set
your openjpa.jdbc.DBDictionary configuration property to the
appropriate value for your database (see the documentation for
available values).
195 CMP INFO [main] openjpa.jdbc.JDBC - Using dictionary class
"org.apache.openjpa.jdbc.sql.HSQLDictionary" (HSQL Database Engine
1.8.0 ,HSQL Database Engine Driver 1.8.0).
297 CMP INFO [main] openjpa.MetaData - Found 4 classes with
metadata in 5 milliseconds.
299 CMP WARN [main] openjpa.MetaData - The class
"openejb.org.apache.openejb.test.entity.cmr.cmrmapping.OneOwningSideBean
" listed in the openjpa.MetaDataFactory configuration property could
not be loaded; ignoring.
Loading org/apache/openejb/test/entity/cmp/BasicCmpBean
661 CMP INFO [main] openjpa.MetaData - Parsing resource "file:/
Users/dain/work/openejb/trunk/openejb3/container/openejb-core/target/
test-classes/META-INF/jpa-test-mappings.xml".
1177 CMP INFO [main] openjpa.MetaData - Parsing class
"org.apache.openejb.test.entity.cmp.BasicCmpBean".
1212 CMP INFO [main] openjpa.MetaData - Parsing class
"org.apache.openejb.test.entity.cmp.BasicCmpBean".
1213 CMP INFO [main] openjpa.MetaData - Parsing package
"org.apache.openejb.test.entity.cmp.BasicCmpBean".
1230 CMP INFO [main] openjpa.MetaData - Parsing class
"org.apache.openejb.core.cmp.jpa.BasicCmpBean_Subclass".
1231 CMP INFO [main] openjpa.MetaData - Parsing class
"org.apache.openejb.core.cmp.jpa.BasicCmpBean_Subclass".
1232 CMP INFO [main] openjpa.MetaData - Parsing package
"org.apache.openejb.core.cmp.jpa.BasicCmpBean_Subclass".
1243 CMP WARN [main] openjpa.Enhance - An exception was thrown
while attempting to perform class file transformation on
"org.apache.openejb.test.entity.cmp.BasicCmpBean":
<0|false|0.9.7-incubating-SNAPSHOT>
org.apache.openjpa.util.GeneralException: org.xml.sax.SAXException:
file:/Users/dain/work/openejb/trunk/openejb3/container/openejb-core/
target/test-classes/META-INF/jpa-test-mappings.xml [Location: Line:
45, C: 118]: Type
"openejb.org.apache.openejb.test.entity.cmr.cmrmapping.OneOwningSideBean
" could not be instantiated.
at org.apache.openjpa.persistence.PersistenceMetaDataFactory.parseXML
(PersistenceMetaDataFactory.java:233)
at org.apache.openjpa.persistence.PersistenceMetaDataFactory.load
(PersistenceMetaDataFactory.java:182)
at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal
(MetaDataRepository.java:414)
at org.apache.openjpa.meta.MetaDataRepository.getMetaData
(MetaDataRepository.java:272)
at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:185)
at org.apache.openjpa.enhance.PCClassFileTransformer.transform
(PCClassFileTransformer.java:124)
at org.apache.openjpa.persistence.PersistenceProviderImpl
$ClassTransformerImpl.transform(PersistenceProviderImpl.java:140)
at org.apache.openejb.persistence.PersistenceUnitInfoImpl
$PersistenceClassFileTransformer.transform
(PersistenceUnitInfoImpl.java:259)
at sun.instrument.TransformerManager.transform
(TransformerManager.java:122)
at sun.instrument.InstrumentationImpl.transform
(InstrumentationImpl.java:155)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass
(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at org.apache.openjpa.meta.MetaDataRepository.classForName
(MetaDataRepository.java:1226)
at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes
(MetaDataRepository.java:1214)
at
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings
(JDBCBrokerFactory.java:145)
at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl
(JDBCBrokerFactory.java:127)
at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker
(AbstractBrokerFactory.java:165)
at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker
(DelegatingBrokerFactory.java:139)
at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityMana
ger(EntityManagerFactoryImpl.java:187)
at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityMana
ger(EntityManagerFactoryImpl.java:140)
at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityMana
ger(EntityManagerFactoryImpl.java:52)
at org.apache.openejb.core.cmp.jpa.JpaTestObject.createEntityManager
(JpaTestObject.java:279)
at org.apache.openejb.core.cmp.jpa.JpaTestObject.beginTx
(JpaTestObject.java:286)
at org.apache.openejb.core.cmp.jpa.JpaTestObject.jpaLifecycle
(JpaTestObject.java:119)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.openejb.core.cmp.jpa.JpaTest.invoke(JpaTest.java:192)
at org.apache.openejb.core.cmp.jpa.JpaTest.testJta(JpaTest.java:106)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at junit.textui.TestRunner.doRun(TestRunner.java:116)
at com.intellij.rt.execution.junit2.IdeaJUnitAgent.doRun
(IdeaJUnitAgent.java:58)
at junit.textui.TestRunner.start(TestRunner.java:172)
at
com.intellij.rt.execution.junit.TextTestRunner2.startRunnerWithArgs
(TextTestRunner2.java:23)
at
com.intellij.rt.execution.junit2.JUnitStarter.prepareStreamsAndStart
(JUnitStarter.java:98)
at com.intellij.rt.execution.junit2.JUnitStarter.main
(JUnitStarter.java:32)
Caused by: java.io.IOException: org.xml.sax.SAXException: file:/Users/
dain/work/openejb/trunk/openejb3/container/openejb-core/target/test-
classes/META-INF/jpa-test-mappings.xml [Location: Line: 45, C: 118]:
Type
"openejb.org.apache.openejb.test.entity.cmr.cmrmapping.OneOwningSideBean
" could not be instantiated.
at org.apache.openjpa.lib.meta.XMLMetaDataParser.parseNewResource
(XMLMetaDataParser.java:373)
at org.apache.openjpa.lib.meta.XMLMetaDataParser.parse
(XMLMetaDataParser.java:312)
at org.apache.openjpa.lib.meta.XMLMetaDataParser.parse
(XMLMetaDataParser.java:289)
at org.apache.openjpa.lib.meta.XMLMetaDataParser.parse
(XMLMetaDataParser.java:263)
at org.apache.openjpa.persistence.PersistenceMetaDataFactory.parseXML
(PersistenceMetaDataFactory.java:231)
... 59 more
Caused by: org.xml.sax.SAXException: file:/Users/dain/work/openejb/
trunk/openejb3/container/openejb-core/target/test-classes/META-INF/
jpa-test-mappings.xml [Location: Line: 45, C: 118]: Type
"openejb.org.apache.openejb.test.entity.cmr.cmrmapping.OneOwningSideBean
" could not be instantiated.
at org.apache.openjpa.lib.meta.XMLMetaDataParser.getException
(XMLMetaDataParser.java:649)
at org.apache.openjpa.lib.meta.CFMetaDataParser.classForName
(CFMetaDataParser.java:281)
at
org.apache.openjpa.persistence.XMLPersistenceMetaDataParser.classForName
(XMLPersistenceMetaDataParser.java:1664)
at
org.apache.openjpa.persistence.XMLPersistenceMetaDataParser.startClass
(XMLPersistenceMetaDataParser.java:722)
at org.apache.openjpa.lib.meta.CFMetaDataParser.startElement
(CFMetaDataParser.java:102)
at org.apache.openjpa.lib.meta.XMLMetaDataParser.startElement
(XMLMetaDataParser.java:426)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown
Source)
at org.apache.xerces.impl.xs.XMLSchemaValidator.startElement(Unknown
Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement
(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl
$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument
(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
at org.apache.openjpa.lib.meta.XMLMetaDataParser.parseNewResource
(XMLMetaDataParser.java:370)
... 63 more
1289 CMP INFO [main] openjpa.MetaData - Parsing class
"javax.ejb.EntityContext".
1290 CMP INFO [main] openjpa.MetaData - Parsing package
"javax.ejb.EntityContext".
java.lang.NoSuchMethodError:
org.apache.openejb.test.entity.cmp.BasicCmpBean.pcGetManagedFieldCount
()I
at org.apache.openejb.core.cmp.jpa.BasicCmpBean_Subclass.<clinit>
(BasicCmpBean_Subclass.java)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at org.apache.openjpa.meta.MetaDataRepository.classForName
(MetaDataRepository.java:1226)
at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes
(MetaDataRepository.java:1214)
at
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings
(JDBCBrokerFactory.java:145)
at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl
(JDBCBrokerFactory.java:127)
at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker
(AbstractBrokerFactory.java:165)
at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker
(DelegatingBrokerFactory.java:139)
at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityMana
ger(EntityManagerFactoryImpl.java:187)
at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityMana
ger(EntityManagerFactoryImpl.java:140)
at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityMana
ger(EntityManagerFactoryImpl.java:52)
at org.apache.openejb.core.cmp.jpa.JpaTestObject.createEntityManager
(JpaTestObject.java:279)
at org.apache.openejb.core.cmp.jpa.JpaTestObject.beginTx
(JpaTestObject.java:286)
at org.apache.openejb.core.cmp.jpa.JpaTestObject.jpaLifecycle
(JpaTestObject.java:119)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at org.apache.openejb.core.cmp.jpa.JpaTest.invoke(JpaTest.java:192)
at org.apache.openejb.core.cmp.jpa.JpaTest.testJta(JpaTest.java:106)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at com.intellij.rt.execution.junit2.JUnitStarter.main
(JUnitStarter.java:32)
Re: Do mapped superclasses work at all in OpenJPA?
Posted by Kevin Sutter <kw...@gmail.com>.
Just to add a "me too" to help out Dain... I have also seen this problem
while debugging other problems. At the time I figured I was doing something
wrong, so I didn't report it. I'll see if I can reproduce it again and
provide more insights.
Kevin
On 2/13/07, Marc Prud'hommeaux <mp...@apache.org> wrote:
>
> Dain-
>
> I just did a quick test with a mapped-superclass using an orm.xml
> descriptor with all attributes defined in the superclass, and it
> worked fine for me.
>
> Are you using dynamic runtime enhancement, or build-time enhancement?
> Can you enable TRACE-level logging (by setting the "openjpa.Log"
> property to "DefaultLevel=TRACE"), and send us the output from your
> test run? Also, seeing your persistence.xml might help shed light on
> the issue...
>
>
>
> On Feb 12, 2007, at 10:42 PM, Dain Sundstrom wrote:
>
> > Are you sure that is the right issue? It seems to be about a
> > different problem.
> >
> > -dain
> >
> > On Feb 12, 2007, at 7:14 PM, Craig L Russell wrote:
> >
> >> Hi Dain,
> >>
> >> This might be related to a bug in xml overrides http://
> >> issues.apache.org/jira/browse/OPENJPA-97. Just fer grins, do you
> >> have a way to annotate the mapped superclass?
> >>
> >> Craig
> >>
> >> On Feb 12, 2007, at 7:01 PM, Dain Sundstrom wrote:
> >>
> >>> When I try to use a simple mapped super class with a trivial sub
> >>> class (no fields or methods), I get the following exception:
> >>>
> >>> ERROR - The bean instances business method encountered a system
> >>> exception:org.apache.openejb.test.entity.cmp.BasicCmpBean.pcGetManag
> >>> edFieldCount()I
> >>> java.lang.NoSuchMethodError:
> >>> org.apache.openejb.test.entity.cmp.BasicCmpBean.pcGetManagedFieldCou
> >>> nt()I
> >>> at
> >>> openejb.org.apache.openejb.test.entity.cmp.BasicCmpBean.<clinit>
> >>> (Unknown Source)
> >>> at java.lang.Class.forName0(Native Method)
> >>> at java.lang.Class.forName(Class.java:242)
> >>> at org.apache.openjpa.meta.MetaDataRepository.classForName
> >>> (MetaDataRepository.java:1224)
> >>> at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes
> >>> (MetaDataRepository.java:1212)
> >>> at
> >>> org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings
> >>> (JDBCBrokerFactory.java:145)
> >>> at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl
> >>> (JDBCBrokerFactory.java:127)
> >>> at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker
> >>> (AbstractBrokerFactory.java:164)
> >>> at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker
> >>> (DelegatingBrokerFactory.java:139)
> >>> at
> >>> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntity
> >>> Manager(EntityManagerFactoryImpl.java:187)
> >>> at
> >>> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntity
> >>> Manager(EntityManagerFactoryImpl.java:52)
> >>> at
> >>> org.apache.openejb.persistence.JtaEntityManagerRegistry.getEntityMan
> >>> ager(JtaEntityManagerRegistry.java:105)
> >>>
> >>>
> >>> Which seems to indicate to me that OpenJPA isn't enhancing the
> >>> mapped super class. Does OpenJPA support mapped super classes?
> >>>
> >>> Here is are my entity mappings:
> >>>
> >>> <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/
> >>> orm" version="1.0">
> >>> <mapped-superclass
> >>> class="org.apache.openejb.test.entity.cmp.BasicCmpBean">
> >>> <attributes>
> >>> <id name="primaryKey"/>
> >>> <basic name="firstName"/>
> >>> <basic name="lastName"/>
> >>> <transient name="nextId"/>
> >>> <transient name="ejbContext"/>
> >>> <transient name="allowedOperationsTable"/>
> >>> </attributes>
> >>> </mapped-superclass>
> >>> <entity name="BasicCmpBean"
> >>> class="openejb.org.apache.openejb.test.entity.cmp.BasicCmpBean">
> >>> <description>BasicCmpBean</description>
> >>> <attribute-override name="primaryKey">
> >>> <column name="primaryKey"/>
> >>> </attribute-override>
> >>> <attribute-override name="firstName">
> >>> <column name="firstName"/>
> >>> </attribute-override>
> >>> <attribute-override name="lastName">
> >>> <column name="lastName"/>
> >>> </attribute-override>
> >>> </entity>
> >>> </entity-mappings>
> >>>
> >>>
> >>> Thanks for any help,
> >>>
> >>> -dain
> >>
> >> Craig Russell
> >> Architect, Sun Java Enterprise System http://java.sun.com/products/
> >> jdo
> >> 408 276-5638 mailto:Craig.Russell@sun.com
> >> P.S. A good JDO? O, Gasp!
> >>
> >
>
>
Re: Do mapped superclasses work at all in OpenJPA?
Posted by Marc Prud'hommeaux <mp...@apache.org>.
Dain-
I just did a quick test with a mapped-superclass using an orm.xml
descriptor with all attributes defined in the superclass, and it
worked fine for me.
Are you using dynamic runtime enhancement, or build-time enhancement?
Can you enable TRACE-level logging (by setting the "openjpa.Log"
property to "DefaultLevel=TRACE"), and send us the output from your
test run? Also, seeing your persistence.xml might help shed light on
the issue...
On Feb 12, 2007, at 10:42 PM, Dain Sundstrom wrote:
> Are you sure that is the right issue? It seems to be about a
> different problem.
>
> -dain
>
> On Feb 12, 2007, at 7:14 PM, Craig L Russell wrote:
>
>> Hi Dain,
>>
>> This might be related to a bug in xml overrides http://
>> issues.apache.org/jira/browse/OPENJPA-97. Just fer grins, do you
>> have a way to annotate the mapped superclass?
>>
>> Craig
>>
>> On Feb 12, 2007, at 7:01 PM, Dain Sundstrom wrote:
>>
>>> When I try to use a simple mapped super class with a trivial sub
>>> class (no fields or methods), I get the following exception:
>>>
>>> ERROR - The bean instances business method encountered a system
>>> exception:org.apache.openejb.test.entity.cmp.BasicCmpBean.pcGetManag
>>> edFieldCount()I
>>> java.lang.NoSuchMethodError:
>>> org.apache.openejb.test.entity.cmp.BasicCmpBean.pcGetManagedFieldCou
>>> nt()I
>>> at
>>> openejb.org.apache.openejb.test.entity.cmp.BasicCmpBean.<clinit>
>>> (Unknown Source)
>>> at java.lang.Class.forName0(Native Method)
>>> at java.lang.Class.forName(Class.java:242)
>>> at org.apache.openjpa.meta.MetaDataRepository.classForName
>>> (MetaDataRepository.java:1224)
>>> at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes
>>> (MetaDataRepository.java:1212)
>>> at
>>> org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings
>>> (JDBCBrokerFactory.java:145)
>>> at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl
>>> (JDBCBrokerFactory.java:127)
>>> at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker
>>> (AbstractBrokerFactory.java:164)
>>> at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker
>>> (DelegatingBrokerFactory.java:139)
>>> at
>>> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntity
>>> Manager(EntityManagerFactoryImpl.java:187)
>>> at
>>> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntity
>>> Manager(EntityManagerFactoryImpl.java:52)
>>> at
>>> org.apache.openejb.persistence.JtaEntityManagerRegistry.getEntityMan
>>> ager(JtaEntityManagerRegistry.java:105)
>>>
>>>
>>> Which seems to indicate to me that OpenJPA isn't enhancing the
>>> mapped super class. Does OpenJPA support mapped super classes?
>>>
>>> Here is are my entity mappings:
>>>
>>> <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/
>>> orm" version="1.0">
>>> <mapped-superclass
>>> class="org.apache.openejb.test.entity.cmp.BasicCmpBean">
>>> <attributes>
>>> <id name="primaryKey"/>
>>> <basic name="firstName"/>
>>> <basic name="lastName"/>
>>> <transient name="nextId"/>
>>> <transient name="ejbContext"/>
>>> <transient name="allowedOperationsTable"/>
>>> </attributes>
>>> </mapped-superclass>
>>> <entity name="BasicCmpBean"
>>> class="openejb.org.apache.openejb.test.entity.cmp.BasicCmpBean">
>>> <description>BasicCmpBean</description>
>>> <attribute-override name="primaryKey">
>>> <column name="primaryKey"/>
>>> </attribute-override>
>>> <attribute-override name="firstName">
>>> <column name="firstName"/>
>>> </attribute-override>
>>> <attribute-override name="lastName">
>>> <column name="lastName"/>
>>> </attribute-override>
>>> </entity>
>>> </entity-mappings>
>>>
>>>
>>> Thanks for any help,
>>>
>>> -dain
>>
>> Craig Russell
>> Architect, Sun Java Enterprise System http://java.sun.com/products/
>> jdo
>> 408 276-5638 mailto:Craig.Russell@sun.com
>> P.S. A good JDO? O, Gasp!
>>
>
Re: Do mapped superclasses work at all in OpenJPA?
Posted by Dain Sundstrom <da...@iq80.com>.
Are you sure that is the right issue? It seems to be about a
different problem.
-dain
On Feb 12, 2007, at 7:14 PM, Craig L Russell wrote:
> Hi Dain,
>
> This might be related to a bug in xml overrides http://
> issues.apache.org/jira/browse/OPENJPA-97. Just fer grins, do you
> have a way to annotate the mapped superclass?
>
> Craig
>
> On Feb 12, 2007, at 7:01 PM, Dain Sundstrom wrote:
>
>> When I try to use a simple mapped super class with a trivial sub
>> class (no fields or methods), I get the following exception:
>>
>> ERROR - The bean instances business method encountered a system
>> exception:org.apache.openejb.test.entity.cmp.BasicCmpBean.pcGetManage
>> dFieldCount()I
>> java.lang.NoSuchMethodError:
>> org.apache.openejb.test.entity.cmp.BasicCmpBean.pcGetManagedFieldCoun
>> t()I
>> at
>> openejb.org.apache.openejb.test.entity.cmp.BasicCmpBean.<clinit>
>> (Unknown Source)
>> at java.lang.Class.forName0(Native Method)
>> at java.lang.Class.forName(Class.java:242)
>> at org.apache.openjpa.meta.MetaDataRepository.classForName
>> (MetaDataRepository.java:1224)
>> at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes
>> (MetaDataRepository.java:1212)
>> at
>> org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(
>> JDBCBrokerFactory.java:145)
>> at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl
>> (JDBCBrokerFactory.java:127)
>> at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker
>> (AbstractBrokerFactory.java:164)
>> at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker
>> (DelegatingBrokerFactory.java:139)
>> at
>> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityM
>> anager(EntityManagerFactoryImpl.java:187)
>> at
>> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityM
>> anager(EntityManagerFactoryImpl.java:52)
>> at
>> org.apache.openejb.persistence.JtaEntityManagerRegistry.getEntityMana
>> ger(JtaEntityManagerRegistry.java:105)
>>
>>
>> Which seems to indicate to me that OpenJPA isn't enhancing the
>> mapped super class. Does OpenJPA support mapped super classes?
>>
>> Here is are my entity mappings:
>>
>> <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/
>> orm" version="1.0">
>> <mapped-superclass
>> class="org.apache.openejb.test.entity.cmp.BasicCmpBean">
>> <attributes>
>> <id name="primaryKey"/>
>> <basic name="firstName"/>
>> <basic name="lastName"/>
>> <transient name="nextId"/>
>> <transient name="ejbContext"/>
>> <transient name="allowedOperationsTable"/>
>> </attributes>
>> </mapped-superclass>
>> <entity name="BasicCmpBean"
>> class="openejb.org.apache.openejb.test.entity.cmp.BasicCmpBean">
>> <description>BasicCmpBean</description>
>> <attribute-override name="primaryKey">
>> <column name="primaryKey"/>
>> </attribute-override>
>> <attribute-override name="firstName">
>> <column name="firstName"/>
>> </attribute-override>
>> <attribute-override name="lastName">
>> <column name="lastName"/>
>> </attribute-override>
>> </entity>
>> </entity-mappings>
>>
>>
>> Thanks for any help,
>>
>> -dain
>
> Craig Russell
> Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
> 408 276-5638 mailto:Craig.Russell@sun.com
> P.S. A good JDO? O, Gasp!
>
Re: Do mapped superclasses work at all in OpenJPA?
Posted by Craig L Russell <Cr...@Sun.COM>.
Hi Dain,
This might be related to a bug in xml overrides http://
issues.apache.org/jira/browse/OPENJPA-97. Just fer grins, do you have
a way to annotate the mapped superclass?
Craig
On Feb 12, 2007, at 7:01 PM, Dain Sundstrom wrote:
> When I try to use a simple mapped super class with a trivial sub
> class (no fields or methods), I get the following exception:
>
> ERROR - The bean instances business method encountered a system
> exception:org.apache.openejb.test.entity.cmp.BasicCmpBean.pcGetManaged
> FieldCount()I
> java.lang.NoSuchMethodError:
> org.apache.openejb.test.entity.cmp.BasicCmpBean.pcGetManagedFieldCount
> ()I
> at openejb.org.apache.openejb.test.entity.cmp.BasicCmpBean.<clinit>
> (Unknown Source)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:242)
> at org.apache.openjpa.meta.MetaDataRepository.classForName
> (MetaDataRepository.java:1224)
> at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes
> (MetaDataRepository.java:1212)
> at
> org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings
> (JDBCBrokerFactory.java:145)
> at org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl
> (JDBCBrokerFactory.java:127)
> at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker
> (AbstractBrokerFactory.java:164)
> at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker
> (DelegatingBrokerFactory.java:139)
> at
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityMa
> nager(EntityManagerFactoryImpl.java:187)
> at
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityMa
> nager(EntityManagerFactoryImpl.java:52)
> at
> org.apache.openejb.persistence.JtaEntityManagerRegistry.getEntityManag
> er(JtaEntityManagerRegistry.java:105)
>
>
> Which seems to indicate to me that OpenJPA isn't enhancing the
> mapped super class. Does OpenJPA support mapped super classes?
>
> Here is are my entity mappings:
>
> <entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
> version="1.0">
> <mapped-superclass
> class="org.apache.openejb.test.entity.cmp.BasicCmpBean">
> <attributes>
> <id name="primaryKey"/>
> <basic name="firstName"/>
> <basic name="lastName"/>
> <transient name="nextId"/>
> <transient name="ejbContext"/>
> <transient name="allowedOperationsTable"/>
> </attributes>
> </mapped-superclass>
> <entity name="BasicCmpBean"
> class="openejb.org.apache.openejb.test.entity.cmp.BasicCmpBean">
> <description>BasicCmpBean</description>
> <attribute-override name="primaryKey">
> <column name="primaryKey"/>
> </attribute-override>
> <attribute-override name="firstName">
> <column name="firstName"/>
> </attribute-override>
> <attribute-override name="lastName">
> <column name="lastName"/>
> </attribute-override>
> </entity>
> </entity-mappings>
>
>
> Thanks for any help,
>
> -dain
Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!