You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by David Blevins <da...@visi.com> on 2008/06/11 09:08:49 UTC
CMP2 relationship issue: OneToMany
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
Re: CMP2 relationship issue: OneToMany
Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hi
This topic is pretty old.
If you have issues on last version please open a new one and share a sample
to reproduce it
Le 13 janv. 2013 13:22, "Bibhuti" <bi...@gmail.com> a écrit :
> Is this resolved, if not then do we have any workaround for this. I am
> facing
> similar kind of issue when trying to run cmp2.1 one tomee+.
>
> Thanks,
> Bibhuti
>
>
>
> --
> View this message in context:
> http://openejb.979440.n4.nabble.com/CMP2-relationship-issue-OneToMany-tp987378p4660237.html
> Sent from the OpenEJB Dev mailing list archive at Nabble.com.
>
Re: CMP2 relationship issue: OneToMany
Posted by Bibhuti <bi...@gmail.com>.
Is this resolved, if not then do we have any workaround for this. I am facing
similar kind of issue when trying to run cmp2.1 one tomee+.
Thanks,
Bibhuti
--
View this message in context: http://openejb.979440.n4.nabble.com/CMP2-relationship-issue-OneToMany-tp987378p4660237.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.
Re: CMP2 relationship issue: OneToMany
Posted by Karan Malhi <ka...@gmail.com>.
I think I might know whats going on. JPA supports OneToMany and ManyToOne
relationships between entities.
In the above xml, MovieBean and DirectorBean are specified as Entities and
not Movie and Director.
According to the code (below), Movie and Director are the "non-entities"
stored in the collection and you cannot use them in OneToMany or ManyToOne
relationships
public abstract Collection<Movie> getMovies()
public abstract Director getDirector();
public abstract void setDirector(Director director);
PS:- One could use the @PersistentCollection , which is supported by OpenJPA
for Collection of primitives, wrappers, Strings, embedded and "Simple" types
(ours are simple types).
On Wed, Jun 11, 2008 at 5:37 PM, David Blevins <da...@visi.com>
wrote:
>
> 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/%7Edblevins/simple-cmp2.tar.gz>
>>> http://people.apache.org/~dblevins/simple-cmp2/<http://people.apache.org/%7Edblevins/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
>>>
>>>
>>
>>
>
--
Karan Singh Malhi
Re: CMP2 relationship issue: OneToMany
Posted by David Blevins <da...@visi.com>.
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
>>
>
>
Re: CMP2 relationship issue: OneToMany
Posted by Dain Sundstrom <da...@iq80.com>.
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.
-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
>