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
>