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




Reply via email to