On Jun 11, 2008, at 1:41 AM, Dain Sundstrom wrote:
Can you post the contents of openejb-cmp-generated-orm.xml? My
guess the problem is in the generated code, but I'd like to see the
orm.xml file if you have it handy.
Here it is:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
version="1.0">
<entity name="MovieBean"
class="openejb.org.superbiz.cmp2.MovieBean">
<description>classes#MovieBean</description>
<table/>
<named-query name="MovieBean.findByDirector(java.lang.String)">
<query>SELECT m FROM MovieBean m WHERE m.director = ?1</
query>
</named-query>
<named-query name="MovieBean.findAll">
<query>SELECT m FROM MovieBean as m</query>
</named-query>
<attributes>
<id name="id">
<generated-value strategy="IDENTITY"/>
</id>
<basic name="year"/>
<basic name="title"/>
<many-to-one name="director"/>
</attributes>
</entity>
<entity name="DirectorBean"
class="openejb.org.superbiz.cmp2.DirectorBean">
<description>classes#DirectorBean</description>
<table/>
<named-query
name="DirectorBean.findByName(java.lang.String,java.lang.String)">
<query>SELECT d FROM DirectorBean d WHERE d.lastName = ?1
AND d.firstName = ?2</query>
</named-query>
<named-query name="DirectorBean.findAll">
<query>SELECT d FROM DirectorBean m</query>
</named-query>
<attributes>
<id name="id">
<generated-value strategy="IDENTITY"/>
</id>
<basic name="firstName"/>
<basic name="lastName"/>
<one-to-many name="movies" mapped-by="director">
<cascade>
<cascade-all/>
</cascade>
</one-to-many>
</attributes>
</entity>
</entity-mappings>
-David
-dain
On Jun 11, 2008, at 12:08 AM, David Blevins wrote:
Hacking up a new cmp2 example:
http://people.apache.org/~dblevins/simple-cmp2.tar.gz
http://people.apache.org/~dblevins/simple-cmp2/ (unpacked)
I think things are fine but now getting the error below. Could
mean that I need to have the agent installed. If someone who knows
better could give it a quick look over for simple mistakes that'd
be great -- won't be able to get back at it till much later tomorrow.
-David
ERROR - The bean instance business method encountered a system
exception: org.xml.sax.SAXException: jar:file:/tmp/
OpenEJB_Generated_49666.jar!/META-INF/openejb-cmp-generated-orm.xml
[Location: Line: 36, C: 61]: The type of field
"openejb.org.superbiz.cmp2.DirectorBean.movies" isn't supported by
declared persistence strategy "OneToMany". Please choose a
different strategy.
<openjpa-1.0.1-r420667:592145 nonfatal general error>
org.apache.openjpa.persistence.PersistenceException:
org.xml.sax.SAXException: jar:file:/tmp/
OpenEJB_Generated_49666.jar!/META-INF/openejb-cmp-generated-orm.xml
[Location: Line: 36, C: 61]: The type of field
"openejb.org.superbiz.cmp2.DirectorBean.movies" isn't supported by
declared persistence strategy "OneToMany". Please choose a
different strategy.
at
org
.apache
.openjpa
.persistence
.PersistenceMetaDataFactory
.parseXML(PersistenceMetaDataFactory.java:249)
at
org
.apache
.openjpa
.persistence
.PersistenceMetaDataFactory.load(PersistenceMetaDataFactory.java:198)
at
org
.apache
.openjpa
.meta
.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:433)
at
org
.apache
.openjpa
.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:288)
at
org
.apache
.openjpa
.jdbc.meta.MappingRepository.getMapping(MappingRepository.java:282)
at
org
.apache.openjpa.jdbc.meta.MappingTool.getMapping(MappingTool.java:
673)
at
org
.apache.openjpa.jdbc.meta.MappingTool.buildSchema(MappingTool.java:
745)
at org.apache.openjpa.jdbc.meta.MappingTool.run(MappingTool.java:
643)
at
org
.apache
.openjpa
.jdbc
.kernel
.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:164)
at
org
.apache
.openjpa
.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBrokerFactory.java:
130)
at
org
.apache
.openjpa
.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:
186)
at
org
.apache
.openjpa
.kernel
.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
at
org
.apache
.openjpa
.persistence
.EntityManagerFactoryImpl
.createEntityManager(EntityManagerFactoryImpl.java:192)
at
org
.apache
.openjpa
.persistence
.EntityManagerFactoryImpl
.createEntityManager(EntityManagerFactoryImpl.java:56)
at
org
.apache
.openejb
.persistence
.JtaEntityManagerRegistry
.getEntityManager(JtaEntityManagerRegistry.java:105)
at
org
.apache
.openejb
.persistence
.JtaEntityManager.getEntityManager(JtaEntityManager.java:61)
at
org
.apache
.openejb
.persistence.JtaEntityManager.getDelegate(JtaEntityManager.java:92)
at
org
.apache
.openejb
.persistence.JtaEntityManager.getDelegate(JtaEntityManager.java:41)
at
org
.apache
.openejb
.core.cmp.jpa.JpaCmpEngine.registerListener(JpaCmpEngine.java:124)
at
org
.apache
.openejb
.core.cmp.jpa.JpaCmpEngine.getEntityManager(JpaCmpEngine.java:107)
at
org
.apache
.openejb.core.cmp.jpa.JpaCmpEngine.createBean(JpaCmpEngine.java:136)
at
org
.apache
.openejb.core.cmp.CmpContainer.createEJBObject(CmpContainer.java:605)
at
org.apache.openejb.core.cmp.CmpContainer.invoke(CmpContainer.java:
250)
at
org
.apache
.openejb
.core.ivm.EjbHomeProxyHandler.create(EjbHomeProxyHandler.java:267)
at
org
.apache
.openejb
.core.ivm.EjbHomeProxyHandler._invoke(EjbHomeProxyHandler.java:158)
at
org
.apache
.openejb
.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:274)
at $Proxy33.create(Unknown Source)
at org.superbiz.cmp2.MoviesTest.test(MoviesTest.java:51)
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:168)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at
org
.junit
.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:81)
at
org
.apache
.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
at
org
.apache
.maven
.surefire
.suite
.AbstractDirectoryTestSuite
.executeTestSet(AbstractDirectoryTestSuite.java:138)
at
org
.apache
.maven
.surefire
.suite
.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:
125)
at org.apache.maven.surefire.Surefire.run(Surefire.java:132)
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
.maven
.surefire
.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:290)
at
org
.apache
.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:818)
Caused by: java.io.IOException: org.xml.sax.SAXException: jar:file:/
tmp/OpenEJB_Generated_49666.jar!/META-INF/openejb-cmp-generated-
orm.xml [Location: Line: 36, C: 61]: The type of field
"openejb.org.superbiz.cmp2.DirectorBean.movies" isn't supported by
declared persistence strategy "OneToMany". Please choose a
different strategy.
at
org
.apache
.openjpa
.lib.meta.XMLMetaDataParser.parseNewResource(XMLMetaDataParser.java:
379)
at
org
.apache
.openjpa.lib.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:318)
at
org
.apache
.openjpa.lib.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:295)
at
org
.apache
.openjpa.lib.meta.XMLMetaDataParser.parse(XMLMetaDataParser.java:268)
at
org
.apache
.openjpa
.persistence
.PersistenceMetaDataFactory
.parseXML(PersistenceMetaDataFactory.java:247)
... 50 more
Caused by: org.xml.sax.SAXException: jar:file:/tmp/
OpenEJB_Generated_49666.jar!/META-INF/openejb-cmp-generated-orm.xml
[Location: Line: 36, C: 61]: The type of field
"openejb.org.superbiz.cmp2.DirectorBean.movies" isn't supported by
declared persistence strategy "OneToMany". Please choose a
different strategy.
at
org
.apache
.openjpa
.lib.meta.XMLMetaDataParser.getException(XMLMetaDataParser.java:665)
at
org
.apache
.openjpa
.persistence
.XMLPersistenceMetaDataParser
.assertPCCollection(XMLPersistenceMetaDataParser.java:1336)
at
org
.apache
.openjpa
.persistence
.XMLPersistenceMetaDataParser
.parseOneToMany(XMLPersistenceMetaDataParser.java:1348)
at
org
.apache
.openjpa
.persistence
.XMLPersistenceMetaDataParser
.parseStrategy(XMLPersistenceMetaDataParser.java:1245)
at
org
.apache
.openjpa
.persistence
.XMLPersistenceMetaDataParser
.startStrategy(XMLPersistenceMetaDataParser.java:1213)
at
org
.apache
.openjpa
.persistence
.XMLPersistenceMetaDataParser
.startClassElement(XMLPersistenceMetaDataParser.java:621)
at
org
.apache
.openjpa
.lib.meta.CFMetaDataParser.startElement(CFMetaDataParser.java:111)
at
org
.apache
.openjpa
.lib.meta.XMLMetaDataParser.startElement(XMLMetaDataParser.java:432)
at
com
.sun
.org
.apache
.xerces
.internal
.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:533)
at
com
.sun
.org
.apache
.xerces
.internal
.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:708)
at
com
.sun
.org
.apache
.xerces
.internal
.impl
.XMLNSDocumentScannerImpl
.scanStartElement(XMLNSDocumentScannerImpl.java:330)
at
com
.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl
$
FragmentContentDispatcher
.dispatch(XMLDocumentFragmentScannerImpl.java:1693)
at
com
.sun
.org
.apache
.xerces
.internal
.impl
.XMLDocumentFragmentScannerImpl
.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
at
com
.sun
.org
.apache
.xerces
.internal.parsers.XML11Configuration.parse(XML11Configuration.java:
834)
at
com
.sun
.org
.apache
.xerces
.internal.parsers.XML11Configuration.parse(XML11Configuration.java:
764)
at
com
.sun
.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:
148)
at
com
.sun
.org
.apache
.xerces
.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:
1242)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
at
org
.apache
.openjpa
.lib.meta.XMLMetaDataParser.parseNewResource(XMLMetaDataParser.java:
376)
... 54 more