Details

      Description

      I am encountering a NPE at MappingInfo.java line 1514. I'm sorry I don't have time to prepare a test case right now. I'm not even 100% sure what is causing the problem, but it seems to be something like this:

      I have classes Organization, Group, User, and AddressBook.

      Group has a reference (many-to-one) to Organization.

      I'm using field-level access and the Java 6 runtime enhancer. (NOT the build-time enhancer or the agent.)

      In ManagedClassSubclasser.prepareUnenhancedClasses, the code receives a list of Class objects-the ones in persistence.xml. They are not in the same order as they are in persistence.xml, but I don't know if that's important. The first one is Group. During the processing of Group, the code invokes ClassMapping.setTable to set the table name, which is "group_table." This comes from the @Table annotation of Group. So far, so good. Then the code does some additional processing on the relationship mappings of Group, which include the reference to Organization. During the processing of that relationship, the code calls MappingInfo.mergeJoinColumn. On line 1367, the method calls rel.getTable. The "rel" variable points to the ClassMapping for Organization. Remember that prepareUnenhancedClasses hasn't gotten to Organization yetit's still working on Group-and so I assume that this Organization mapping was created on-demand. However, rel.getTable returns null. The Organization class has a @Table attribute, and I can see that the table name has been loaded in the ClassMappingInfo instance attached to the ClassMapping for Organization, however the table name has not yet been copied from ClassMappingInfo to ClassMapping. Later, the mergeJoinColumn method attempts to dereference the null table name and generates the NPE.

      Bottom line: When using the Java 6, runtime enhancer, if class A has a reference to class B, and both classes have @Table annotations (at least), and class A is processed first, then it produces a NPE.

      1. openjpatest.tar.gz
        11 kB
        Willis Blackburn

        Issue Links

          Activity

          Hide
          Willis Blackburn added a comment -

          Stack trace:

          Internal error: Errors encountered while resolving metadata. See nested exceptions for details.
          <openjpa-2.0.1-r422266:989424 fatal user error> org.apache.openjpa.persistence.ArgumentException: Errors encountered while resolving metadata. See nested exceptions for details.
          at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:642)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:385)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:358)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:256)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:227)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:195)
          at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:134)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:317)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:241)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:215)
          at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
          at com.signetworks.signs.util.db.Database$.createEntityManager(Database.scala:75)
          at com.signetworks.signs.util.db.Database$.withEntityManager(Database.scala:72)
          at com.signetworks.signs.util.db.Database$.unique(Database.scala:40)
          at com.signetworks.v3.servlet.V3Servlet.dispatchRequestInSession(V3Servlet.scala:63)
          at com.signetworks.dance.http.RequestDispatcher$$anonfun$dispatchRequest$3$$anonfun$apply$1.apply(RequestDispatcher.scala:32)
          at com.signetworks.dance.http.RequestDispatcher$$anonfun$dispatchRequest$3$$anonfun$apply$1.apply(RequestDispatcher.scala:32)
          at com.signetworks.dance.http.SynchronizedSessionBinder$$anonfun$bindSession$1.apply(SynchronizedSessionBinder.scala:21)
          at com.signetworks.dance.http.SynchronizedSessionBinder$$anonfun$bindSession$1.apply(SynchronizedSessionBinder.scala:21)
          at com.signetworks.dance.util.ThreadBoundValue.withValue(ThreadBoundValue.scala:38)
          at com.signetworks.dance.http.SynchronizedSessionBinder$class.bindSession(SynchronizedSessionBinder.scala:21)
          at com.signetworks.v3.servlet.V3Servlet.bindSession(V3Servlet.scala:31)
          at com.signetworks.dance.http.RequestDispatcher$$anonfun$dispatchRequest$3.apply(RequestDispatcher.scala:31)
          at com.signetworks.dance.http.RequestDispatcher$$anonfun$dispatchRequest$3.apply(RequestDispatcher.scala:31)
          at scala.Option.getOrElse(Option.scala:59)
          at com.signetworks.dance.http.RequestDispatcher$class.dispatchRequest(RequestDispatcher.scala:30)
          at com.signetworks.v3.servlet.V3Servlet.dispatchRequest(V3Servlet.scala:31)
          at com.signetworks.dance.http.RequestDispatcher$class.handleRequest(RequestDispatcher.scala:22)
          at com.signetworks.v3.servlet.V3Servlet.handleRequest(V3Servlet.scala:31)
          at com.signetworks.dance.http.DanceServlet$$anonfun$service$1$$anonfun$apply$mcV$sp$1.apply(DanceServlet.scala:47)
          at com.signetworks.dance.http.DanceServlet$$anonfun$service$1$$anonfun$apply$mcV$sp$1.apply(DanceServlet.scala:46)
          at com.signetworks.dance.http.DanceServlet$$anonfun$bindRequest$1.apply$mcV$sp(DanceServlet.scala:63)
          at com.signetworks.dance.http.DanceServlet$$anonfun$bindRequest$1.apply(DanceServlet.scala:63)
          at com.signetworks.dance.http.DanceServlet$$anonfun$bindRequest$1.apply(DanceServlet.scala:63)
          at com.signetworks.dance.util.ThreadBoundValue.withValue(ThreadBoundValue.scala:38)
          at com.signetworks.dance.http.DanceServlet.bindRequest(DanceServlet.scala:63)
          at com.signetworks.dance.http.DanceServlet$$anonfun$service$1.apply$mcV$sp(DanceServlet.scala:45)
          at com.signetworks.dance.http.DanceServlet$$anonfun$service$1.apply(DanceServlet.scala:45)
          at com.signetworks.dance.http.DanceServlet$$anonfun$service$1.apply(DanceServlet.scala:45)
          at com.signetworks.dance.util.ThreadBoundValue.withValue(ThreadBoundValue.scala:38)
          at com.signetworks.dance.http.DanceServlet.service(DanceServlet.scala:42)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
          at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
          at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
          at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
          at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
          at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:332)
          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233)
          at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
          at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
          at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
          at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
          at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
          at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
          at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
          at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
          at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
          at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
          at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
          at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
          at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
          at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
          at java.lang.Thread.run(Thread.java:637)
          Caused by: <openjpa-2.0.1-r422266:989424 nonfatal user error> org.apache.openjpa.persistence.ArgumentException: No metadata was found for type "class java.lang.Object". The class is not enhanced.
          at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:377)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:358)
          at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1821)
          at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1786)
          at org.apache.openjpa.meta.ValueMetaDataImpl.resolve(ValueMetaDataImpl.java:435)
          at org.apache.openjpa.jdbc.meta.ValueMappingImpl.resolve(ValueMappingImpl.java:494)
          at org.apache.openjpa.meta.FieldMetaData.resolve(FieldMetaData.java:1732)
          at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:458)
          at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1852)
          at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1786)
          at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:790)
          at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:693)
          at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:617)
          ... 68 more
          NestedThrowables:
          <openjpa-2.0.1-r422266:989424 fatal user error> org.apache.openjpa.persistence.ArgumentException: Unable to resolve type "com.signetworks.signs.model.addressbook.AddressBook" due to previous errors resolving related type "com.signetworks.signs.model.security.Organization".
          at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:804)
          at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:693)
          at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:617)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:385)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:358)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:256)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:227)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:195)
          at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:134)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:317)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:241)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:215)
          at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
          at com.signetworks.signs.util.db.Database$.createEntityManager(Database.scala:75)
          at com.signetworks.signs.util.db.Database$.withEntityManager(Database.scala:72)
          at com.signetworks.signs.util.db.Database$.unique(Database.scala:40)
          at com.signetworks.v3.servlet.V3Servlet.dispatchRequestInSession(V3Servlet.scala:63)
          at com.signetworks.dance.http.RequestDispatcher$$anonfun$dispatchRequest$3$$anonfun$apply$1.apply(RequestDispatcher.scala:32)
          at com.signetworks.dance.http.RequestDispatcher$$anonfun$dispatchRequest$3$$anonfun$apply$1.apply(RequestDispatcher.scala:32)
          at com.signetworks.dance.http.SynchronizedSessionBinder$$anonfun$bindSession$1.apply(SynchronizedSessionBinder.scala:21)
          at com.signetworks.dance.http.SynchronizedSessionBinder$$anonfun$bindSession$1.apply(SynchronizedSessionBinder.scala:21)
          at com.signetworks.dance.util.ThreadBoundValue.withValue(ThreadBoundValue.scala:38)
          at com.signetworks.dance.http.SynchronizedSessionBinder$class.bindSession(SynchronizedSessionBinder.scala:21)
          at com.signetworks.v3.servlet.V3Servlet.bindSession(V3Servlet.scala:31)
          at com.signetworks.dance.http.RequestDispatcher$$anonfun$dispatchRequest$3.apply(RequestDispatcher.scala:31)
          at com.signetworks.dance.http.RequestDispatcher$$anonfun$dispatchRequest$3.apply(RequestDispatcher.scala:31)
          at scala.Option.getOrElse(Option.scala:59)
          at com.signetworks.dance.http.RequestDispatcher$class.dispatchRequest(RequestDispatcher.scala:30)
          at com.signetworks.v3.servlet.V3Servlet.dispatchRequest(V3Servlet.scala:31)
          at com.signetworks.dance.http.RequestDispatcher$class.handleRequest(RequestDispatcher.scala:22)
          at com.signetworks.v3.servlet.V3Servlet.handleRequest(V3Servlet.scala:31)
          at com.signetworks.dance.http.DanceServlet$$anonfun$service$1$$anonfun$apply$mcV$sp$1.apply(DanceServlet.scala:47)
          at com.signetworks.dance.http.DanceServlet$$anonfun$service$1$$anonfun$apply$mcV$sp$1.apply(DanceServlet.scala:46)
          at com.signetworks.dance.http.DanceServlet$$anonfun$bindRequest$1.apply$mcV$sp(DanceServlet.scala:63)
          at com.signetworks.dance.http.DanceServlet$$anonfun$bindRequest$1.apply(DanceServlet.scala:63)
          at com.signetworks.dance.http.DanceServlet$$anonfun$bindRequest$1.apply(DanceServlet.scala:63)
          at com.signetworks.dance.util.ThreadBoundValue.withValue(ThreadBoundValue.scala:38)
          at com.signetworks.dance.http.DanceServlet.bindRequest(DanceServlet.scala:63)
          at com.signetworks.dance.http.DanceServlet$$anonfun$service$1.apply$mcV$sp(DanceServlet.scala:45)
          at com.signetworks.dance.http.DanceServlet$$anonfun$service$1.apply(DanceServlet.scala:45)
          at com.signetworks.dance.http.DanceServlet$$anonfun$service$1.apply(DanceServlet.scala:45)
          at com.signetworks.dance.util.ThreadBoundValue.withValue(ThreadBoundValue.scala:38)
          at com.signetworks.dance.http.DanceServlet.service(DanceServlet.scala:42)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
          at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
          at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
          at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
          at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
          at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:332)
          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233)
          at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
          at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
          at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
          at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
          at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
          at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
          at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
          at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
          at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
          at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
          at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
          at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
          at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
          at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
          at java.lang.Thread.run(Thread.java:637)
          java.lang.NullPointerException
          at org.apache.openjpa.jdbc.meta.MappingInfo.mergeJoinColumn(MappingInfo.java:1514)
          at org.apache.openjpa.jdbc.meta.MappingInfo.createJoins(MappingInfo.java:1322)
          at org.apache.openjpa.jdbc.meta.MappingInfo.createForeignKey(MappingInfo.java:1084)
          at org.apache.openjpa.jdbc.meta.ValueMappingInfo.getTypeJoin(ValueMappingInfo.java:115)
          at org.apache.openjpa.jdbc.meta.ValueMappingInfo.getTypeJoin(ValueMappingInfo.java:92)
          at org.apache.openjpa.jdbc.meta.strats.RelationFieldStrategy.map(RelationFieldStrategy.java:167)
          at org.apache.openjpa.jdbc.meta.FieldMapping.setStrategy(FieldMapping.java:146)
          at org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy(RuntimeStrategyInstaller.java:82)
          at org.apache.openjpa.jdbc.meta.FieldMapping.resolveMapping(FieldMapping.java:496)
          at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:461)
          at org.apache.openjpa.jdbc.meta.ClassMapping.resolveMapping(ClassMapping.java:853)
          at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1791)
          at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:790)
          at org.apache.openjpa.meta.MetaDataRepository.resolveMapping(MetaDataRepository.java:751)
          at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:631)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:385)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:358)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:256)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:227)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:195)
          at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:134)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:317)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:241)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:215)
          at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
          at com.signetworks.signs.util.db.Database$.createEntityManager(Database.scala:75)
          at com.signetworks.signs.util.db.Database$.withEntityManager(Database.scala:72)
          at com.signetworks.signs.util.db.Database$.unique(Database.scala:40)
          at com.signetworks.v3.servlet.V3Servlet.dispatchRequestInSession(V3Servlet.scala:63)
          at com.signetworks.dance.http.RequestDispatcher$$anonfun$dispatchRequest$3$$anonfun$apply$1.apply(RequestDispatcher.scala:32)
          at com.signetworks.dance.http.RequestDispatcher$$anonfun$dispatchRequest$3$$anonfun$apply$1.apply(RequestDispatcher.scala:32)
          at com.signetworks.dance.http.SynchronizedSessionBinder$$anonfun$bindSession$1.apply(SynchronizedSessionBinder.scala:21)
          at com.signetworks.dance.http.SynchronizedSessionBinder$$anonfun$bindSession$1.apply(SynchronizedSessionBinder.scala:21)
          at com.signetworks.dance.util.ThreadBoundValue.withValue(ThreadBoundValue.scala:38)
          at com.signetworks.dance.http.SynchronizedSessionBinder$class.bindSession(SynchronizedSessionBinder.scala:21)
          at com.signetworks.v3.servlet.V3Servlet.bindSession(V3Servlet.scala:31)
          at com.signetworks.dance.http.RequestDispatcher$$anonfun$dispatchRequest$3.apply(RequestDispatcher.scala:31)
          at com.signetworks.dance.http.RequestDispatcher$$anonfun$dispatchRequest$3.apply(RequestDispatcher.scala:31)
          at scala.Option.getOrElse(Option.scala:59)
          at com.signetworks.dance.http.RequestDispatcher$class.dispatchRequest(RequestDispatcher.scala:30)
          at com.signetworks.v3.servlet.V3Servlet.dispatchRequest(V3Servlet.scala:31)
          at com.signetworks.dance.http.RequestDispatcher$class.handleRequest(RequestDispatcher.scala:22)
          at com.signetworks.v3.servlet.V3Servlet.handleRequest(V3Servlet.scala:31)
          at com.signetworks.dance.http.DanceServlet$$anonfun$service$1$$anonfun$apply$mcV$sp$1.apply(DanceServlet.scala:47)
          at com.signetworks.dance.http.DanceServlet$$anonfun$service$1$$anonfun$apply$mcV$sp$1.apply(DanceServlet.scala:46)
          at com.signetworks.dance.http.DanceServlet$$anonfun$bindRequest$1.apply$mcV$sp(DanceServlet.scala:63)
          at com.signetworks.dance.http.DanceServlet$$anonfun$bindRequest$1.apply(DanceServlet.scala:63)
          at com.signetworks.dance.http.DanceServlet$$anonfun$bindRequest$1.apply(DanceServlet.scala:63)
          at com.signetworks.dance.util.ThreadBoundValue.withValue(ThreadBoundValue.scala:38)
          at com.signetworks.dance.http.DanceServlet.bindRequest(DanceServlet.scala:63)
          at com.signetworks.dance.http.DanceServlet$$anonfun$service$1.apply$mcV$sp(DanceServlet.scala:45)
          at com.signetworks.dance.http.DanceServlet$$anonfun$service$1.apply(DanceServlet.scala:45)
          at com.signetworks.dance.http.DanceServlet$$anonfun$service$1.apply(DanceServlet.scala:45)
          at com.signetworks.dance.util.ThreadBoundValue.withValue(ThreadBoundValue.scala:38)
          at com.signetworks.dance.http.DanceServlet.service(DanceServlet.scala:42)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
          at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
          at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
          at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
          at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
          at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:332)
          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233)
          at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
          at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
          at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
          at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
          at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
          at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
          at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
          at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
          at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
          at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
          at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
          at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
          at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
          at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
          at java.lang.Thread.run(Thread.java:637)

          Show
          Willis Blackburn added a comment - Stack trace: Internal error: Errors encountered while resolving metadata. See nested exceptions for details. <openjpa-2.0.1-r422266:989424 fatal user error> org.apache.openjpa.persistence.ArgumentException: Errors encountered while resolving metadata. See nested exceptions for details. at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:642) at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:385) at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:358) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:256) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:227) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:195) at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:134) at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:317) at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:241) at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:215) at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60) at com.signetworks.signs.util.db.Database$.createEntityManager(Database.scala:75) at com.signetworks.signs.util.db.Database$.withEntityManager(Database.scala:72) at com.signetworks.signs.util.db.Database$.unique(Database.scala:40) at com.signetworks.v3.servlet.V3Servlet.dispatchRequestInSession(V3Servlet.scala:63) at com.signetworks.dance.http.RequestDispatcher$$anonfun$dispatchRequest$3$$anonfun$apply$1.apply(RequestDispatcher.scala:32) at com.signetworks.dance.http.RequestDispatcher$$anonfun$dispatchRequest$3$$anonfun$apply$1.apply(RequestDispatcher.scala:32) at com.signetworks.dance.http.SynchronizedSessionBinder$$anonfun$bindSession$1.apply(SynchronizedSessionBinder.scala:21) at com.signetworks.dance.http.SynchronizedSessionBinder$$anonfun$bindSession$1.apply(SynchronizedSessionBinder.scala:21) at com.signetworks.dance.util.ThreadBoundValue.withValue(ThreadBoundValue.scala:38) at com.signetworks.dance.http.SynchronizedSessionBinder$class.bindSession(SynchronizedSessionBinder.scala:21) at com.signetworks.v3.servlet.V3Servlet.bindSession(V3Servlet.scala:31) at com.signetworks.dance.http.RequestDispatcher$$anonfun$dispatchRequest$3.apply(RequestDispatcher.scala:31) at com.signetworks.dance.http.RequestDispatcher$$anonfun$dispatchRequest$3.apply(RequestDispatcher.scala:31) at scala.Option.getOrElse(Option.scala:59) at com.signetworks.dance.http.RequestDispatcher$class.dispatchRequest(RequestDispatcher.scala:30) at com.signetworks.v3.servlet.V3Servlet.dispatchRequest(V3Servlet.scala:31) at com.signetworks.dance.http.RequestDispatcher$class.handleRequest(RequestDispatcher.scala:22) at com.signetworks.v3.servlet.V3Servlet.handleRequest(V3Servlet.scala:31) at com.signetworks.dance.http.DanceServlet$$anonfun$service$1$$anonfun$apply$mcV$sp$1.apply(DanceServlet.scala:47) at com.signetworks.dance.http.DanceServlet$$anonfun$service$1$$anonfun$apply$mcV$sp$1.apply(DanceServlet.scala:46) at com.signetworks.dance.http.DanceServlet$$anonfun$bindRequest$1.apply$mcV$sp(DanceServlet.scala:63) at com.signetworks.dance.http.DanceServlet$$anonfun$bindRequest$1.apply(DanceServlet.scala:63) at com.signetworks.dance.http.DanceServlet$$anonfun$bindRequest$1.apply(DanceServlet.scala:63) at com.signetworks.dance.util.ThreadBoundValue.withValue(ThreadBoundValue.scala:38) at com.signetworks.dance.http.DanceServlet.bindRequest(DanceServlet.scala:63) at com.signetworks.dance.http.DanceServlet$$anonfun$service$1.apply$mcV$sp(DanceServlet.scala:45) at com.signetworks.dance.http.DanceServlet$$anonfun$service$1.apply(DanceServlet.scala:45) at com.signetworks.dance.http.DanceServlet$$anonfun$service$1.apply(DanceServlet.scala:45) at com.signetworks.dance.util.ThreadBoundValue.withValue(ThreadBoundValue.scala:38) at com.signetworks.dance.http.DanceServlet.service(DanceServlet.scala:42) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97) at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:332) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791) at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693) at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954) at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170) at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88) at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76) at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57) at com.sun.grizzly.ContextTask.run(ContextTask.java:69) at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330) at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309) at java.lang.Thread.run(Thread.java:637) Caused by: <openjpa-2.0.1-r422266:989424 nonfatal user error> org.apache.openjpa.persistence.ArgumentException: No metadata was found for type "class java.lang.Object". The class is not enhanced. at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:377) at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:358) at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1821) at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1786) at org.apache.openjpa.meta.ValueMetaDataImpl.resolve(ValueMetaDataImpl.java:435) at org.apache.openjpa.jdbc.meta.ValueMappingImpl.resolve(ValueMappingImpl.java:494) at org.apache.openjpa.meta.FieldMetaData.resolve(FieldMetaData.java:1732) at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:458) at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1852) at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1786) at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:790) at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:693) at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:617) ... 68 more NestedThrowables: <openjpa-2.0.1-r422266:989424 fatal user error> org.apache.openjpa.persistence.ArgumentException: Unable to resolve type "com.signetworks.signs.model.addressbook.AddressBook" due to previous errors resolving related type "com.signetworks.signs.model.security.Organization". at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:804) at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:693) at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:617) at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:385) at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:358) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:256) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:227) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:195) at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:134) at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:317) at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:241) at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:215) at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60) at com.signetworks.signs.util.db.Database$.createEntityManager(Database.scala:75) at com.signetworks.signs.util.db.Database$.withEntityManager(Database.scala:72) at com.signetworks.signs.util.db.Database$.unique(Database.scala:40) at com.signetworks.v3.servlet.V3Servlet.dispatchRequestInSession(V3Servlet.scala:63) at com.signetworks.dance.http.RequestDispatcher$$anonfun$dispatchRequest$3$$anonfun$apply$1.apply(RequestDispatcher.scala:32) at com.signetworks.dance.http.RequestDispatcher$$anonfun$dispatchRequest$3$$anonfun$apply$1.apply(RequestDispatcher.scala:32) at com.signetworks.dance.http.SynchronizedSessionBinder$$anonfun$bindSession$1.apply(SynchronizedSessionBinder.scala:21) at com.signetworks.dance.http.SynchronizedSessionBinder$$anonfun$bindSession$1.apply(SynchronizedSessionBinder.scala:21) at com.signetworks.dance.util.ThreadBoundValue.withValue(ThreadBoundValue.scala:38) at com.signetworks.dance.http.SynchronizedSessionBinder$class.bindSession(SynchronizedSessionBinder.scala:21) at com.signetworks.v3.servlet.V3Servlet.bindSession(V3Servlet.scala:31) at com.signetworks.dance.http.RequestDispatcher$$anonfun$dispatchRequest$3.apply(RequestDispatcher.scala:31) at com.signetworks.dance.http.RequestDispatcher$$anonfun$dispatchRequest$3.apply(RequestDispatcher.scala:31) at scala.Option.getOrElse(Option.scala:59) at com.signetworks.dance.http.RequestDispatcher$class.dispatchRequest(RequestDispatcher.scala:30) at com.signetworks.v3.servlet.V3Servlet.dispatchRequest(V3Servlet.scala:31) at com.signetworks.dance.http.RequestDispatcher$class.handleRequest(RequestDispatcher.scala:22) at com.signetworks.v3.servlet.V3Servlet.handleRequest(V3Servlet.scala:31) at com.signetworks.dance.http.DanceServlet$$anonfun$service$1$$anonfun$apply$mcV$sp$1.apply(DanceServlet.scala:47) at com.signetworks.dance.http.DanceServlet$$anonfun$service$1$$anonfun$apply$mcV$sp$1.apply(DanceServlet.scala:46) at com.signetworks.dance.http.DanceServlet$$anonfun$bindRequest$1.apply$mcV$sp(DanceServlet.scala:63) at com.signetworks.dance.http.DanceServlet$$anonfun$bindRequest$1.apply(DanceServlet.scala:63) at com.signetworks.dance.http.DanceServlet$$anonfun$bindRequest$1.apply(DanceServlet.scala:63) at com.signetworks.dance.util.ThreadBoundValue.withValue(ThreadBoundValue.scala:38) at com.signetworks.dance.http.DanceServlet.bindRequest(DanceServlet.scala:63) at com.signetworks.dance.http.DanceServlet$$anonfun$service$1.apply$mcV$sp(DanceServlet.scala:45) at com.signetworks.dance.http.DanceServlet$$anonfun$service$1.apply(DanceServlet.scala:45) at com.signetworks.dance.http.DanceServlet$$anonfun$service$1.apply(DanceServlet.scala:45) at com.signetworks.dance.util.ThreadBoundValue.withValue(ThreadBoundValue.scala:38) at com.signetworks.dance.http.DanceServlet.service(DanceServlet.scala:42) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97) at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:332) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791) at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693) at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954) at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170) at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88) at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76) at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57) at com.sun.grizzly.ContextTask.run(ContextTask.java:69) at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330) at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309) at java.lang.Thread.run(Thread.java:637) java.lang.NullPointerException at org.apache.openjpa.jdbc.meta.MappingInfo.mergeJoinColumn(MappingInfo.java:1514) at org.apache.openjpa.jdbc.meta.MappingInfo.createJoins(MappingInfo.java:1322) at org.apache.openjpa.jdbc.meta.MappingInfo.createForeignKey(MappingInfo.java:1084) at org.apache.openjpa.jdbc.meta.ValueMappingInfo.getTypeJoin(ValueMappingInfo.java:115) at org.apache.openjpa.jdbc.meta.ValueMappingInfo.getTypeJoin(ValueMappingInfo.java:92) at org.apache.openjpa.jdbc.meta.strats.RelationFieldStrategy.map(RelationFieldStrategy.java:167) at org.apache.openjpa.jdbc.meta.FieldMapping.setStrategy(FieldMapping.java:146) at org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy(RuntimeStrategyInstaller.java:82) at org.apache.openjpa.jdbc.meta.FieldMapping.resolveMapping(FieldMapping.java:496) at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:461) at org.apache.openjpa.jdbc.meta.ClassMapping.resolveMapping(ClassMapping.java:853) at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1791) at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:790) at org.apache.openjpa.meta.MetaDataRepository.resolveMapping(MetaDataRepository.java:751) at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:631) at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:385) at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:358) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:256) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:227) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:195) at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:134) at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:317) at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:241) at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:215) at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60) at com.signetworks.signs.util.db.Database$.createEntityManager(Database.scala:75) at com.signetworks.signs.util.db.Database$.withEntityManager(Database.scala:72) at com.signetworks.signs.util.db.Database$.unique(Database.scala:40) at com.signetworks.v3.servlet.V3Servlet.dispatchRequestInSession(V3Servlet.scala:63) at com.signetworks.dance.http.RequestDispatcher$$anonfun$dispatchRequest$3$$anonfun$apply$1.apply(RequestDispatcher.scala:32) at com.signetworks.dance.http.RequestDispatcher$$anonfun$dispatchRequest$3$$anonfun$apply$1.apply(RequestDispatcher.scala:32) at com.signetworks.dance.http.SynchronizedSessionBinder$$anonfun$bindSession$1.apply(SynchronizedSessionBinder.scala:21) at com.signetworks.dance.http.SynchronizedSessionBinder$$anonfun$bindSession$1.apply(SynchronizedSessionBinder.scala:21) at com.signetworks.dance.util.ThreadBoundValue.withValue(ThreadBoundValue.scala:38) at com.signetworks.dance.http.SynchronizedSessionBinder$class.bindSession(SynchronizedSessionBinder.scala:21) at com.signetworks.v3.servlet.V3Servlet.bindSession(V3Servlet.scala:31) at com.signetworks.dance.http.RequestDispatcher$$anonfun$dispatchRequest$3.apply(RequestDispatcher.scala:31) at com.signetworks.dance.http.RequestDispatcher$$anonfun$dispatchRequest$3.apply(RequestDispatcher.scala:31) at scala.Option.getOrElse(Option.scala:59) at com.signetworks.dance.http.RequestDispatcher$class.dispatchRequest(RequestDispatcher.scala:30) at com.signetworks.v3.servlet.V3Servlet.dispatchRequest(V3Servlet.scala:31) at com.signetworks.dance.http.RequestDispatcher$class.handleRequest(RequestDispatcher.scala:22) at com.signetworks.v3.servlet.V3Servlet.handleRequest(V3Servlet.scala:31) at com.signetworks.dance.http.DanceServlet$$anonfun$service$1$$anonfun$apply$mcV$sp$1.apply(DanceServlet.scala:47) at com.signetworks.dance.http.DanceServlet$$anonfun$service$1$$anonfun$apply$mcV$sp$1.apply(DanceServlet.scala:46) at com.signetworks.dance.http.DanceServlet$$anonfun$bindRequest$1.apply$mcV$sp(DanceServlet.scala:63) at com.signetworks.dance.http.DanceServlet$$anonfun$bindRequest$1.apply(DanceServlet.scala:63) at com.signetworks.dance.http.DanceServlet$$anonfun$bindRequest$1.apply(DanceServlet.scala:63) at com.signetworks.dance.util.ThreadBoundValue.withValue(ThreadBoundValue.scala:38) at com.signetworks.dance.http.DanceServlet.bindRequest(DanceServlet.scala:63) at com.signetworks.dance.http.DanceServlet$$anonfun$service$1.apply$mcV$sp(DanceServlet.scala:45) at com.signetworks.dance.http.DanceServlet$$anonfun$service$1.apply(DanceServlet.scala:45) at com.signetworks.dance.http.DanceServlet$$anonfun$service$1.apply(DanceServlet.scala:45) at com.signetworks.dance.util.ThreadBoundValue.withValue(ThreadBoundValue.scala:38) at com.signetworks.dance.http.DanceServlet.service(DanceServlet.scala:42) at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97) at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:332) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:233) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791) at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693) at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954) at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170) at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88) at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76) at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57) at com.sun.grizzly.ContextTask.run(ContextTask.java:69) at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330) at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309) at java.lang.Thread.run(Thread.java:637)
          Hide
          Donald Woods added a comment -

          Can you post your persistence.xml or a least the <class> or <jar-file> list from it?

          Show
          Donald Woods added a comment - Can you post your persistence.xml or a least the <class> or <jar-file> list from it?
          Hide
          Willis Blackburn added a comment -

          The <class> section looks like:

          com.signetworks.signs.model.addressbook.AddressBook
          com.signetworks.signs.model.security.Group
          com.signetworks.signs.model.security.Organization
          com.signetworks.signs.model.security.User

          I've discovered some more information that is relevant. The Organization object contains a Set<HostName>. HostName is an Embeddable. However:

          1. HostName is obviously not in the list of persistent classes.

          2. When I looked in the class file for Organization, I discovered that the set of host names did not have any generic type information. In other words it was Set<?> instead of Set<HostName>. That's why OpenJPA complains (above) about "No metadata was found for type 'class java.lang.Object.'" (The reason that the generic type information is missing is that this project is in Scala, and the Set<HostName> is defined in a Scala trait that the Organization class inherits, and apparently Scala discards generic type information when compiling classes that inherit members from traits.)

          I discovered these two issues by running the standalone enhancer on my classfiles. The standalone enhancer doesn't produce NullPointerException, at least not in my tests, but does complain about Object not being a persistent classes. Once I fixed the two issues, then the runtime enhancer started working as well.

          I still think that this is a bug, as OpenJPA should not generate NPE even if the input mapping has errors.

          Show
          Willis Blackburn added a comment - The <class> section looks like: com.signetworks.signs.model.addressbook.AddressBook com.signetworks.signs.model.security.Group com.signetworks.signs.model.security.Organization com.signetworks.signs.model.security.User I've discovered some more information that is relevant. The Organization object contains a Set<HostName>. HostName is an Embeddable. However: 1. HostName is obviously not in the list of persistent classes. 2. When I looked in the class file for Organization, I discovered that the set of host names did not have any generic type information. In other words it was Set<?> instead of Set<HostName>. That's why OpenJPA complains (above) about "No metadata was found for type 'class java.lang.Object.'" (The reason that the generic type information is missing is that this project is in Scala, and the Set<HostName> is defined in a Scala trait that the Organization class inherits, and apparently Scala discards generic type information when compiling classes that inherit members from traits.) I discovered these two issues by running the standalone enhancer on my classfiles. The standalone enhancer doesn't produce NullPointerException, at least not in my tests, but does complain about Object not being a persistent classes. Once I fixed the two issues, then the runtime enhancer started working as well. I still think that this is a bug, as OpenJPA should not generate NPE even if the input mapping has errors.
          Hide
          Rick Curtis added a comment -

          Willis -

          When you ran with the standalone enhancer was the error/exception that you encountered? Was it helpful to figure out what was wrong?

          Just to warn you, I'd highly recommend staying away from the runtime enhancer... you'll find numerous documented(and undocumented) issues. I'd say the support is half baked at best.

          Thanks,
          Rick

          Show
          Rick Curtis added a comment - Willis - When you ran with the standalone enhancer was the error/exception that you encountered? Was it helpful to figure out what was wrong? Just to warn you, I'd highly recommend staying away from the runtime enhancer... you'll find numerous documented(and undocumented) issues. I'd say the support is half baked at best. Thanks, Rick
          Hide
          Willis Blackburn added a comment -

          Rick,

          I just saw the error about there not being any metadata for java.lang.Object. But I knew what was causing the problem because I was pursuing a strategy of starting off with running the enhancer on a single class with a single annotation (@Entity) and then gradually adding annotations and classes until it stopped working. It gave me that message after I re-added the Set<HostName>, so I figured that it was unable to figure out what type was in the Set. I subsequently discovered the issue with Scala, which I entered here:

          http://lampsvn.epfl.ch/trac/scala/ticket/3857

          It would have been helpful if OpenJPA had reported why it was looking for metadata for Object. Like "No metadata was found for type 'class java.lang.Object' referenced from Organization.hostNames." Also, it might be worth handling missing metadata for Object specially; it's more likely that OpenJPA has encountered a raw collection type than that the developer really wants Object to be persistent but has neglected to provide the metadata.

          About the runtime enhancer, why even have it if it's half-baked? It would be better to simply remove it and make the code base that much simpler. If it's there, then people will use it, and if it doesn't work, then they'll wind up with a bad impression of OpenJPA that may not be warranted.

          Show
          Willis Blackburn added a comment - Rick, I just saw the error about there not being any metadata for java.lang.Object. But I knew what was causing the problem because I was pursuing a strategy of starting off with running the enhancer on a single class with a single annotation (@Entity) and then gradually adding annotations and classes until it stopped working. It gave me that message after I re-added the Set<HostName>, so I figured that it was unable to figure out what type was in the Set. I subsequently discovered the issue with Scala, which I entered here: http://lampsvn.epfl.ch/trac/scala/ticket/3857 It would have been helpful if OpenJPA had reported why it was looking for metadata for Object. Like "No metadata was found for type 'class java.lang.Object' referenced from Organization.hostNames." Also, it might be worth handling missing metadata for Object specially; it's more likely that OpenJPA has encountered a raw collection type than that the developer really wants Object to be persistent but has neglected to provide the metadata. About the runtime enhancer, why even have it if it's half-baked? It would be better to simply remove it and make the code base that much simpler. If it's there, then people will use it, and if it doesn't work, then they'll wind up with a bad impression of OpenJPA that may not be warranted.
          Hide
          Donald Woods added a comment -

          Willis, when you say "Java 6 runtime enhancer", do you mean the Attach API loaded enhancer or that you manually enabled the subclassing enhancer?

          The Attach API loaded enhancer is identical to using the Javaagent approach, which both have the limitation that when a <class> list is used, then all entities (including @Embeddable and @MappedSuperclass) must be listed. Using the Javaagent or Attach API (aka. enhance when the JVM loads a class) are supported in production.

          Show
          Donald Woods added a comment - Willis, when you say "Java 6 runtime enhancer", do you mean the Attach API loaded enhancer or that you manually enabled the subclassing enhancer? The Attach API loaded enhancer is identical to using the Javaagent approach, which both have the limitation that when a <class> list is used, then all entities (including @Embeddable and @MappedSuperclass) must be listed. Using the Javaagent or Attach API (aka. enhance when the JVM loads a class) are supported in production.
          Hide
          Rick Curtis added a comment -

          Willis -

          > It would have been helpful if OpenJPA had reported why it was looking for metadata for Object. Like "No metadata was found for type 'class java.lang.Object' referenced from Organization.hostNames." Also, it might be worth handling missing metadata for Object specially; it's more likely that OpenJPA has encountered a raw collection type than that the developer really wants Object to be persistent but has neglected to provide the metadata.

          Just to be clear, this problem only happens when openjpa.RuntimeUnenhancedClasses=supported is set?

          > About the runtime enhancer, why even have it if it's half-baked?

          Great question. This feature was added, turned on as the default, but never fully completed. I think the intent was that if enough people were testing it(a la enabled by default), we'd get all of the problems fixed and it would be nice for out of the box usage. Unfortunately this hasn't been high enough priority for anyone to really tackle.... In the 2.0.x release we disabled this feature by default because of the numerous issues we've uncovered.

          Perhaps we need to have a stronger warning message when this feature is enabled? ... or disable it all together?

          Thanks,
          Rick

          Show
          Rick Curtis added a comment - Willis - > It would have been helpful if OpenJPA had reported why it was looking for metadata for Object. Like "No metadata was found for type 'class java.lang.Object' referenced from Organization.hostNames." Also, it might be worth handling missing metadata for Object specially; it's more likely that OpenJPA has encountered a raw collection type than that the developer really wants Object to be persistent but has neglected to provide the metadata. Just to be clear, this problem only happens when openjpa.RuntimeUnenhancedClasses=supported is set? > About the runtime enhancer, why even have it if it's half-baked? Great question. This feature was added, turned on as the default, but never fully completed. I think the intent was that if enough people were testing it(a la enabled by default), we'd get all of the problems fixed and it would be nice for out of the box usage. Unfortunately this hasn't been high enough priority for anyone to really tackle.... In the 2.0.x release we disabled this feature by default because of the numerous issues we've uncovered. Perhaps we need to have a stronger warning message when this feature is enabled? ... or disable it all together? Thanks, Rick
          Hide
          Willis Blackburn added a comment -

          Donald,

          Maybe I'm not using the right terminology. I understand that I can use OpenJPA in one of four ways. First, I can run the class enhancer during the build process. Second, I can define a Java agent when I run the JVM that will enhance the classes as they're loaded. Third, if I'm using Java 6, OpenJPA will install a classloader hook of some kind that will also enhance the classes as they're loaded. And fourth, if I'm running Java 5, OpenJPA will dynamically build persistent subclasses of my entity classes. In all cases we ultimately get classes that extend PersistenceCapable, but in the first three strategies, the PersistenceCapable classes are the application's own classes, while in the last case, they're subclasses of the application's classes. I understand that the fourth method (dynamically-generated subclasses) has certain drawbacks, some by necessity (it not being possible to intercept field set operations for example), and some because it is still experimental. I believe that I'm using the third method, Java 6 with the classloader hook.

          That said, I did have to set openjpa.runtimeUnenhancedClasses=supported in order to get the program to run at all. Am I in fact using the Java 5 dynamic subclassing strategy?

          Show
          Willis Blackburn added a comment - Donald, Maybe I'm not using the right terminology. I understand that I can use OpenJPA in one of four ways. First, I can run the class enhancer during the build process. Second, I can define a Java agent when I run the JVM that will enhance the classes as they're loaded. Third, if I'm using Java 6, OpenJPA will install a classloader hook of some kind that will also enhance the classes as they're loaded. And fourth, if I'm running Java 5, OpenJPA will dynamically build persistent subclasses of my entity classes. In all cases we ultimately get classes that extend PersistenceCapable, but in the first three strategies, the PersistenceCapable classes are the application's own classes, while in the last case, they're subclasses of the application's classes. I understand that the fourth method (dynamically-generated subclasses) has certain drawbacks, some by necessity (it not being possible to intercept field set operations for example), and some because it is still experimental. I believe that I'm using the third method, Java 6 with the classloader hook. That said, I did have to set openjpa.runtimeUnenhancedClasses=supported in order to get the program to run at all. Am I in fact using the Java 5 dynamic subclassing strategy?
          Hide
          Willis Blackburn added a comment -

          I think that I just made things more confusing!

          Referring to the documentation, I believe that I am using the strategy in section 2.4, "Enhancing Dynamically at Runtime." However as I mentioned, I did have to set openjpa.RuntimeUnenhancedClasses=supported, which is only covered in section 2.5, "Omitting the JPA Enhancer." So maybe I'm not using the enhancer? By the way I'm using the Java 6 that Apple supplies with OS X, if that matters.

          Show
          Willis Blackburn added a comment - I think that I just made things more confusing! Referring to the documentation, I believe that I am using the strategy in section 2.4, "Enhancing Dynamically at Runtime." However as I mentioned, I did have to set openjpa.RuntimeUnenhancedClasses=supported, which is only covered in section 2.5, "Omitting the JPA Enhancer." So maybe I'm not using the enhancer? By the way I'm using the Java 6 that Apple supplies with OS X, if that matters.
          Hide
          Willis Blackburn added a comment -

          When I don't have RuntimeEnhancedClasses set, I get:

          Internal error: This configuration disallows runtime optimization, but the following listed types were not enhanced at build time or at class load time with a javaagent: (all my classes)

          When I set RuntimeEnhancedClasses=supported, the app works (now that I've gotten rid of all the mapping problems). However I do NOT see the info message "OpenJPA dynamically loaded the class enhancer" mentioned in the documentation. I'm logging at the debug level.

          But there is this message: "Creating subclass for '[class com.signetworks.signs.model.security.Group, class com.signetworks.signs.model.addressbook.AddressBook, class com.signetworks.signs.model.addressbook.PhoneNumber, class com.signetworks.signs.model.addressbook.SnailAddress, class com.signetworks.signs.model.security.User, class com.signetworks.signs.model.addressbook.EmailAddress, class com.signetworks.signs.model.entities.HostName, class com.signetworks.signs.model.security.Organization]'. This means that your application will be less efficient and will consume more memory than it would if you ran the OpenJPA enhancer. Additionally, lazy loading will not be available for one-to-one and many-to-one persistent attributes in types using field access; they will be loaded eagerly instead."

          Oops!

          I traced through the InstrumentationFactory class. Looks like the Java 6 attach API enhancer is not being loaded because my application is not being loaded by the system class loader. One for the documentation!

          Also, I think that even if the system class loader check had passed, the agent installation would have failed because the OS X JVM doesn't have a tools.jar. Instead the attach API classes are in "classes.jar."

          Show
          Willis Blackburn added a comment - When I don't have RuntimeEnhancedClasses set, I get: Internal error: This configuration disallows runtime optimization, but the following listed types were not enhanced at build time or at class load time with a javaagent: (all my classes) When I set RuntimeEnhancedClasses=supported, the app works (now that I've gotten rid of all the mapping problems). However I do NOT see the info message "OpenJPA dynamically loaded the class enhancer" mentioned in the documentation. I'm logging at the debug level. But there is this message: "Creating subclass for ' [class com.signetworks.signs.model.security.Group, class com.signetworks.signs.model.addressbook.AddressBook, class com.signetworks.signs.model.addressbook.PhoneNumber, class com.signetworks.signs.model.addressbook.SnailAddress, class com.signetworks.signs.model.security.User, class com.signetworks.signs.model.addressbook.EmailAddress, class com.signetworks.signs.model.entities.HostName, class com.signetworks.signs.model.security.Organization] '. This means that your application will be less efficient and will consume more memory than it would if you ran the OpenJPA enhancer. Additionally, lazy loading will not be available for one-to-one and many-to-one persistent attributes in types using field access; they will be loaded eagerly instead." Oops! I traced through the InstrumentationFactory class. Looks like the Java 6 attach API enhancer is not being loaded because my application is not being loaded by the system class loader. One for the documentation! Also, I think that even if the system class loader check had passed, the agent installation would have failed because the OS X JVM doesn't have a tools.jar. Instead the attach API classes are in "classes.jar."
          Hide
          Willis Blackburn added a comment - - edited

          Rick, you asked, "Perhaps we need to have a stronger warning message when this feature is enabled? ... or disable it all together?"

          I saw on the roadmap that OpenJPA 2.1 will require Java 6. I think that if OpenJPA is not going to support Java 5, then there is no need to support working with unenhanced classes. The strategy of using the attach API to install the agent will work for casual users, and the others can pass the agent on the command line, use the J2EE container hooks, or use the build-time enhancer. The behavior of OpenJPA when using unenhanced classes is different from its behavior when using enhanced classes (no lazy loading, changes only detected at flush), so anything that users actually develop in that mode is not going to be production-ready. At some point developers will have to figure out how to get the agent or the build-time enhancer working and test their code under that configuration. Given how easy it is to use the attach API enhancer under Java 6, there's not a strong case for having a less-functional alternative.

          Have I added enough comments to this issue yet? I think I'm going for a personal record.

          Show
          Willis Blackburn added a comment - - edited Rick, you asked, "Perhaps we need to have a stronger warning message when this feature is enabled? ... or disable it all together?" I saw on the roadmap that OpenJPA 2.1 will require Java 6. I think that if OpenJPA is not going to support Java 5, then there is no need to support working with unenhanced classes. The strategy of using the attach API to install the agent will work for casual users, and the others can pass the agent on the command line, use the J2EE container hooks, or use the build-time enhancer. The behavior of OpenJPA when using unenhanced classes is different from its behavior when using enhanced classes (no lazy loading, changes only detected at flush), so anything that users actually develop in that mode is not going to be production-ready. At some point developers will have to figure out how to get the agent or the build-time enhancer working and test their code under that configuration. Given how easy it is to use the attach API enhancer under Java 6, there's not a strong case for having a less-functional alternative. Have I added enough comments to this issue yet? I think I'm going for a personal record.
          Hide
          Donald Woods added a comment -

          Subclassing log msg changed to WARN in r999425.
          Still need to look at adding more info for the original NPE and try to get the dynamic enhancer working on MacOSX.

          Show
          Donald Woods added a comment - Subclassing log msg changed to WARN in r999425. Still need to look at adding more info for the original NPE and try to get the dynamic enhancer working on MacOSX.
          Hide
          Rick Curtis added a comment -

          > ... or disable it all together?"
          That gets my vote. This enhancement business has been a thorn in OpenJPA's side for as long as I've been working with the project. It would be great if subclassing worked properly and performed as well as the other method, but unfortunately it doesn't. Allowing a user to enable subclassing may get them past an immediate enhancement issue, but it's a matter of time before another is hit.

          One big stumbling block is that it is very difficult to remove a feature that exists in a release that is out in the wild. One can hypothesize that removing this support could cause a migration nightmare for someone that has relied on this support(however unlikely that may be). I don't think this JIRA is the place for this discussion though...

          > Have I added enough comments to this issue yet? I think I'm going for a personal record.
          I don't think we're through with this issue yet... As Donald said, we need to get the dynamic enhancer working on OSX... perhaps you would be able to donate a few mac cycles to help us with that? (I'm running ubuntu/windows.)

          Show
          Rick Curtis added a comment - > ... or disable it all together?" That gets my vote. This enhancement business has been a thorn in OpenJPA's side for as long as I've been working with the project. It would be great if subclassing worked properly and performed as well as the other method, but unfortunately it doesn't. Allowing a user to enable subclassing may get them past an immediate enhancement issue, but it's a matter of time before another is hit. One big stumbling block is that it is very difficult to remove a feature that exists in a release that is out in the wild. One can hypothesize that removing this support could cause a migration nightmare for someone that has relied on this support(however unlikely that may be). I don't think this JIRA is the place for this discussion though... > Have I added enough comments to this issue yet? I think I'm going for a personal record. I don't think we're through with this issue yet... As Donald said, we need to get the dynamic enhancer working on OSX... perhaps you would be able to donate a few mac cycles to help us with that? (I'm running ubuntu/windows.)
          Hide
          Willis Blackburn added a comment -

          Rick, I have a spare white MacBook that I'll lend to you or someone else if it will help OpenJPA work better on OS X. Are any of the project's developers in New York City? You can email me directly at wboyce at panix dot com.

          Show
          Willis Blackburn added a comment - Rick, I have a spare white MacBook that I'll lend to you or someone else if it will help OpenJPA work better on OS X. Are any of the project's developers in New York City? You can email me directly at wboyce at panix dot com.
          Hide
          Willis Blackburn added a comment -

          Here's the NPE test case!

          Took a while to reproduce it. It only showed up when I added the @Column annotations to the primary key field and the many-to-one fields.

          Show
          Willis Blackburn added a comment - Here's the NPE test case! Took a while to reproduce it. It only showed up when I added the @Column annotations to the primary key field and the many-to-one fields.
          Hide
          Willis Blackburn added a comment -

          Test case run:

          /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin/java -Dfile.encoding=MacRoman -classpath /System/Library/Frameworks/JavaVM.framework/Versions/A/Resources/Deploy.bundle/Contents/Resources/Java/deploy.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/dt.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/javaws.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/jce.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/management-agent.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/plugin.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/sa-jdi.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/alt-rt.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/charsets.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/jconsole.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/jsse.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/ext/apple_provider.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/ext/dnsns.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/ext/localedata.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/ext/sunjce_provider.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/ext/sunpkcs11.jar:/Users/wboyce/git/openjpatest/target/classes:/Users/wboyce/.m2/repository/org/apache/openjpa/openjpa/2.0.1/openjpa-2.0.1.jar:/Users/wboyce/.m2/repository/commons-lang/commons-lang/2.1/commons-lang-2.1.jar:/Users/wboyce/.m2/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar:/Users/wboyce/.m2/repository/net/sourceforge/serp/serp/1.13.1/serp-1.13.1.jar:/Users/wboyce/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar:/Users/wboyce/.m2/repository/org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.1.1/geronimo-jms_1.1_spec-1.1.1.jar:/Users/wboyce/.m2/repository/org/apache/geronimo/specs/geronimo-jta_1.1_spec/1.1.1/geronimo-jta_1.1_spec-1.1.1.jar:/Users/wboyce/.m2/repository/commons-pool/commons-pool/1.5.3/commons-pool-1.5.3.jar:/Users/wboyce/.m2/repository/org/apache/geronimo/specs/geronimo-jpa_2.0_spec/1.1/geronimo-jpa_2.0_spec-1.1.jar:/Users/wboyce/.m2/repository/com/h2database/h2/1.2.143/h2-1.2.143.jar openjpatest.Main
          6 db TRACE [main] openjpa.Runtime - Setting the following properties from "file:/Users/wboyce/git/openjpatest/target/classes/META-INF/persistence.xml" into configuration:

          {openjpa.BrokerFactory=jdbc, openjpa.ConnectionDriverName=org.h2.Driver, openjpa.RuntimeUnenhancedClasses=supported, javax.persistence.provider=org.apache.openjpa.persistence.PersistenceProviderImpl, openjpa.MetaDataFactory=jpa(Types=openjpatest.AddressBook;openjpatest.Group;openjpatest.Organization), openjpa.Log=DefaultLevel=TRACE, PersistenceVersion=2.0, openjpa.ConnectionURL=jdbc:h2:mem:test, openjpa.Id=db}

          44 db TRACE [main] openjpa.Runtime - org.apache.openjpa.enhance.InstrumentationFactory.findToolsJar() – couldn't find /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/tools.jar
          46 db TRACE [main] openjpa.Runtime - Trying to load javax.validation APIs based on the ValidationMode=AUTO
          48 db TRACE [main] openjpa.Runtime - Could not create the optional validation provider. Reason returned: "No available javax.validation APIs"
          77 db INFO [main] openjpa.Runtime - Starting OpenJPA 2.0.1
          78 db TRACE [main] openjpa.Runtime - Properties: javax.persistence.lock.timeout: 0
          javax.persistence.query.timeout: 0
          javax.persistence.sharedCache.mode: UNSPECIFIED
          javax.persistence.validation.group.pre-persist: javax.validation.groups.Default
          javax.persistence.validation.group.pre-update: javax.validation.groups.Default
          openjpa.AutoClear: 0
          openjpa.AutoDetach: [Ljava.lang.String;@2af081
          openjpa.BrokerFactory: jdbc
          openjpa.BrokerImpl: default
          openjpa.CacheDistributionPolicy: default
          openjpa.Callbacks: default
          openjpa.ClassResolver: default
          openjpa.Compatibility: default
          openjpa.ConnectionDriverName: org.h2.Driver
          openjpa.ConnectionFactoryMode: false
          openjpa.ConnectionRetainMode: 0
          openjpa.ConnectionURL: jdbc:h2:mem:test
          openjpa.DataCache: false
          openjpa.DataCacheManager: default
          openjpa.DataCacheTimeout: -1
          openjpa.DetachState: loaded
          openjpa.DynamicDataStructs: false
          openjpa.DynamicEnhancementAgent: true
          openjpa.EntityManagerFactory: default
          openjpa.FetchBatchSize: -1
          openjpa.FetchGroups: [Ljava.lang.String;@313a53d
          openjpa.FlushBeforeQueries: 0
          openjpa.Id: db
          openjpa.IgnoreChanges: false
          openjpa.InitializeEagerly: false
          openjpa.InverseManager: false
          openjpa.LifecycleEventManager: default
          openjpa.LockManager: mixed
          openjpa.Log: true(DefaultLevel=TRACE)
          openjpa.ManagedRuntime: auto
          openjpa.MaxFetchDepth: -1
          openjpa.MetaDataFactory: jpa(Types=openjpatest.AddressBook;openjpatest.Group;openjpatest.Organization)
          openjpa.MetaDataRepository: default
          openjpa.Multithreaded: false
          openjpa.NontransactionalRead: true
          openjpa.NontransactionalWrite: true
          openjpa.Optimistic: true
          openjpa.OrphanedKeyAction: log
          openjpa.ProxyManager: default
          openjpa.QueryCache: false
          openjpa.QueryCompilationCache: true
          openjpa.ReadLockLevel: 10
          openjpa.RefreshFromDataCache: false
          openjpa.RestoreState: 1
          openjpa.RetainState: true
          openjpa.RetryClassRegistration: false
          openjpa.RuntimeUnenhancedClasses: 0
          openjpa.SavepointManager: in-mem
          openjpa.Sequence: table
          openjpa.TransactionMode: false
          openjpa.WriteLockLevel: 20
          openjpa.jdbc.DriverDataSource: simple
          openjpa.jdbc.EagerFetchMode: 2
          openjpa.jdbc.FetchDirection: 1000
          openjpa.jdbc.FinderCache: true
          openjpa.jdbc.IdentifierUtil: default
          openjpa.jdbc.LRSSize: 2
          openjpa.jdbc.MappingDefaults: jpa
          openjpa.jdbc.QuerySQLCache: true
          openjpa.jdbc.ResultSetType: 1003
          openjpa.jdbc.SQLFactory: default
          openjpa.jdbc.SchemaFactory: dynamic
          openjpa.jdbc.Schemas: [Ljava.lang.String;@2af081
          openjpa.jdbc.SubclassFetchMode: 1
          openjpa.jdbc.SynchronizeMappings: null
          openjpa.jdbc.TransactionIsolation: -1
          openjpa.jdbc.UpdateManager: default
          89 db TRACE [main] openjpa.Runtime - No cache marshaller found for id org.apache.openjpa.conf.MetaDataCacheMaintenance.
          140 db TRACE [main] openjpa.MetaData - Using metadata factory "org.apache.openjpa.persistence.jdbc.PersistenceMappingFactory@4d3c7378".
          171 db INFO [main] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.H2Dictionary".
          271 db TRACE [main] openjpa.jdbc.JDBC - createConnectionFactory: DataSource=org.apache.openjpa.jdbc.schema.SimpleDriverDataSource_@50269997
          310 db TRACE [main] openjpa.jdbc.JDBC - DataSource connection setAutoCommit to "true"
          524 db TRACE [main] openjpa.jdbc.JDBC - catalogSeparator: .
          catalogTerm: catalog
          databaseProductName: H2
          databaseProductVersion: 1.2.143 (2010-09-18)
          driverName: H2 JDBC Driver
          driverVersion: 1.2.143 (2010-09-18)
          extraNameCharacters:
          identifierQuoteString: "
          numericFunctions: ABS,ACOS,ASIN,ATAN,COS,COT,SIN,TAN,ATAN2,BITAND,BITOR,BITXOR,MOD,CEILING,DEGREES,EXP,FLOOR,LOG,LOG10,RADIANS,SQRT,PI,POWER,RAND,RANDOM_UUID,ROUND,ROUNDMAGIC,SECURE_RAND,SIGN,ENCRYPT,DECRYPT,HASH,TRUNCATE,COMPRESS,EXPAND,ZERO
          procedureTerm: procedure
          schemaTerm: schema
          searchStringEscape: \
          sqlKeywords: LIMIT,MINUS,ROWNUM,SYSDATE,SYSTIME,SYSTIMESTAMP,TODAY
          stringFunctions: ASCII,BIT_LENGTH,LENGTH,OCTET_LENGTH,CHAR,CONCAT,DIFFERENCE,HEXTORAW,RAWTOHEX,INSTR,INSERT,LOWER,UPPER,LEFT,RIGHT,LOCATE,POSITION,LPAD,RPAD,LTRIM,RTRIM,TRIM,REGEXP_REPLACE,REPEAT,REPLACE,SOUNDEX,SPACE,STRINGDECODE,STRINGENCODE,STRINGTOUTF8,SUBSTRING,UTF8TOSTRING,XMLATTR,XMLNODE,XMLCOMMENT,XMLCDATA,XMLSTARTDOC,XMLTEXT
          systemFunctions: ARRAY_GET,ARRAY_LENGTH,AUTOCOMMIT,CANCEL_SESSION,CASEWHEN,CAST,COALESCE,CONVERT,CURRVAL,CSVREAD,CSVWRITE,DATABASE,DATABASE_PATH,FILE_READ,GREATEST,IDENTITY,IFNULL,LEAST,LOCK_MODE,LOCK_TIMEOUT,LINK_SCHEMA,MEMORY_FREE,MEMORY_USED,NEXTVAL,NULLIF,READONLY,ROWNUM,SCHEMA,SCOPE_IDENTITY,SESSION_ID,SET,TABLE,TRANSACTION_ID,USER
          timeDateFunctions: CURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMP,DATEADD,DATEDIFF,DAYNAME,DAY_OF_MONTH,DAY_OF_WEEK,DAY_OF_YEAR,EXTRACT,FORMATDATETIME,HOUR,MINUTE,MONTH,MONTHNAME,PARSEDATETIME,QUARTER,SECOND,WEEK,YEAR
          url: jdbc:h2:mem:test
          userName:
          defaultTransactionIsolation: 2
          driverMajorVersion: 1
          driverMinorVersion: 2
          maxBinaryLiteralLength: 0
          maxCatalogNameLength: 0
          maxCharLiteralLength: 0
          maxColumnNameLength: 0
          maxColumnsInGroupBy: 0
          maxColumnsInIndex: 0
          maxColumnsInOrderBy: 0
          maxColumnsInSelect: 0
          maxColumnsInTable: 0
          maxConnections: 0
          maxCursorNameLength: 0
          maxIndexLength: 0
          maxProcedureNameLength: 0
          maxRowSize: 0
          maxSchemaNameLength: 0
          maxStatementLength: 0
          maxStatements: 0
          maxTableNameLength: 0
          maxTablesInSelect: 0
          maxUserNameLength: 0
          isCatalogAtStart: true
          isReadOnly: false
          nullPlusNonNullIsNull: true
          nullsAreSortedAtEnd: false
          nullsAreSortedAtStart: false
          nullsAreSortedHigh: false
          nullsAreSortedLow: true
          storesLowerCaseIdentifiers: false
          storesLowerCaseQuotedIdentifiers: false
          storesMixedCaseIdentifiers: false
          storesMixedCaseQuotedIdentifiers: true
          storesUpperCaseIdentifiers: true
          storesUpperCaseQuotedIdentifiers: false
          supportsAlterTableWithAddColumn: true
          supportsAlterTableWithDropColumn: true
          supportsANSI92EntryLevelSQL: true
          supportsANSI92FullSQL: false
          supportsANSI92IntermediateSQL: false
          supportsCatalogsInDataManipulation: true
          supportsCatalogsInIndexDefinitions: true
          supportsCatalogsInPrivilegeDefinitions: true
          supportsCatalogsInProcedureCalls: false
          supportsCatalogsInTableDefinitions: true
          supportsColumnAliasing: true
          supportsConvert: true
          supportsCoreSQLGrammar: true
          supportsCorrelatedSubqueries: true
          supportsDataDefinitionAndDataManipulationTransactions: false
          supportsDataManipulationTransactionsOnly: true
          supportsDifferentTableCorrelationNames: false
          supportsExpressionsInOrderBy: true
          supportsExtendedSQLGrammar: false
          supportsFullOuterJoins: false
          supportsGroupBy: true
          supportsGroupByBeyondSelect: true
          supportsGroupByUnrelated: true
          supportsIntegrityEnhancementFacility: true
          supportsLikeEscapeClause: true
          supportsLimitedOuterJoins: true
          supportsMinimumSQLGrammar: true
          supportsMixedCaseIdentifiers: false
          supportsMixedCaseQuotedIdentifiers: true
          supportsMultipleResultSets: false
          supportsMultipleTransactions: true
          supportsNonNullableColumns: true
          supportsOpenCursorsAcrossCommit: false
          supportsOpenCursorsAcrossRollback: false
          supportsOpenStatementsAcrossCommit: true
          supportsOpenStatementsAcrossRollback: true
          supportsOrderByUnrelated: true
          supportsOuterJoins: true
          supportsPositionedDelete: true
          supportsPositionedUpdate: true
          supportsSchemasInDataManipulation: true
          supportsSchemasInIndexDefinitions: true
          supportsSchemasInPrivilegeDefinitions: true
          supportsSchemasInProcedureCalls: true
          supportsSchemasInTableDefinitions: true
          supportsSelectForUpdate: true
          supportsStoredProcedures: false
          supportsSubqueriesInComparisons: true
          supportsSubqueriesInExists: true
          supportsSubqueriesInIns: true
          supportsSubqueriesInQuantifieds: true
          supportsTableCorrelationNames: true
          supportsTransactions: true
          supportsUnion: true
          supportsUnionAll: true
          usesLocalFilePerTable: false
          usesLocalFiles: true
          allProceduresAreCallable: true
          allTablesAreSelectable: true
          dataDefinitionCausesTransactionCommit: true
          dataDefinitionIgnoredInTransactions: false
          doesMaxRowSizeIncludeBlobs: false
          supportsBatchUpdates: true
          526 db TRACE [main] openjpa.jdbc.JDBC - Initial connection autoCommit: true, holdability: 1, TransactionIsolation: 2
          528 db TRACE [main] openjpa.jdbc.JDBC - <t 421134813, conn 2054185226> [0 ms] close
          580 db TRACE [main] openjpa.Runtime - Found datasource1: datasource 1344706967 from configuration. StoreContext: org.apache.openjpa.kernel.FinalizingBrokerImpl@359ecd80
          590 db TRACE [main] openjpa.MetaData - Scanning resource "META-INF/orm.xml" for persistent types.
          591 db TRACE [main] openjpa.MetaData - The persistent unit root url is "null"
          591 db TRACE [main] openjpa.MetaData - parsePersistentTypeNames() found [openjpatest.Group, openjpatest.Organization, openjpatest.AddressBook].
          591 db TRACE [main] openjpa.MetaData - Found 3 classes with metadata in 4 milliseconds.
          619 db TRACE [main] openjpa.Enhance - org.apache.openjpa.enhance.InstrumentationFactory.findToolsJar() – couldn't find /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/tools.jar
          620 db INFO [main] openjpa.Enhance - Creating subclass for "[class openjpatest.Group, class openjpatest.Organization, class openjpatest.AddressBook]". This means that your application will be less efficient and will consume more memory than it would if you ran the OpenJPA enhancer. Additionally, lazy loading will not be available for one-to-one and many-to-one persistent attributes in types using field access; they will be loaded eagerly instead.
          645 db TRACE [main] openjpa.Runtime - No cache marshaller found for id org.apache.openjpa.conf.MetaDataCacheMaintenance.
          645 db TRACE [main] openjpa.MetaData - Using metadata factory "org.apache.openjpa.persistence.jdbc.PersistenceMappingFactory@643cb075".
          645 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.Group" under mode "[META]".
          646 db TRACE [main] openjpa.MetaData - Scanning resource "META-INF/orm.xml" for persistent types.
          646 db TRACE [main] openjpa.MetaData - The persistent unit root url is "null"
          646 db TRACE [main] openjpa.MetaData - parsePersistentTypeNames() found [openjpatest.Group, openjpatest.Organization, openjpatest.AddressBook].
          646 db TRACE [main] openjpa.MetaData - Found 3 classes with metadata in 1 milliseconds.
          696 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.Group".
          697 db TRACE [main] openjpa.MetaData - Parsing package "openjpatest.Group".
          711 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.Group".
          711 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation.
          748 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.Group" to "null".
          750 db TRACE [main] openjpa.MetaData - Resolving metadata for "openjpatest.Group@471860896".
          750 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@471860896.id".
          757 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@471860896.name".
          757 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@471860896.organization".
          757 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.Organization" under mode "[META]".
          757 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.Organization".
          757 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.Organization".
          757 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation.
          764 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.Organization" to "null".
          764 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@471860896.version".
          765 db TRACE [main] openjpa.MetaData - Resolving metadata for "openjpatest.Organization@92700153".
          765 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Organization@92700153.addressBook".
          765 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.AddressBook" under mode "[META]".
          765 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.AddressBook".
          766 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.AddressBook".
          766 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation.
          773 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.EmailAddress".
          773 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation.
          773 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.AddressBook" to "null".
          773 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Organization@92700153.hostNames".
          773 db TRACE [main] openjpa.MetaData - Resolving embedded metadata for "java.lang.Object@259650411".
          775 db TRACE [main] openjpa.MetaData - Preparing mapping for "openjpatest.Group".
          778 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@471860896.id".
          783 db TRACE [main] openjpa.MetaData - "id" has mapping strategy "org.apache.openjpa.jdbc.meta.strats.StringFieldStrategy".
          784 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@471860896.name".
          784 db TRACE [main] openjpa.MetaData - "name" has mapping strategy "org.apache.openjpa.jdbc.meta.strats.StringFieldStrategy".
          784 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@471860896.version".
          784 db TRACE [main] openjpa.MetaData - "version" has mapping strategy "none".
          787 db TRACE [main] openjpa.MetaData - "openjpatest.Group<discriminator>" has mapping strategy "value-map".
          788 db TRACE [main] openjpa.MetaData - "openjpatest.Group<version>" has mapping strategy "version-number".
          788 db TRACE [main] openjpa.MetaData - Resolving mapping for "openjpatest.Group@471860896".
          788 db TRACE [main] openjpa.MetaData - "openjpatest.Group" has mapping strategy "full".
          788 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@471860896.organization".
          Exception in thread "main" <openjpa-2.0.1-r422266:989424 fatal user error> org.apache.openjpa.persistence.ArgumentException: Errors encountered while resolving metadata. See nested exceptions for details.
          at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:642)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:385)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:358)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:256)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:227)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:195)
          at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:134)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:317)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:241)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:215)
          at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
          at openjpatest.Main.main(Main.java:17)
          Caused by: <openjpa-2.0.1-r422266:989424 nonfatal user error> org.apache.openjpa.persistence.ArgumentException: No metadata was found for type "class java.lang.Object". The class is not enhanced.
          at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:377)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:358)
          at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1821)
          at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1786)
          at org.apache.openjpa.meta.ValueMetaDataImpl.resolve(ValueMetaDataImpl.java:435)
          at org.apache.openjpa.jdbc.meta.ValueMappingImpl.resolve(ValueMappingImpl.java:494)
          at org.apache.openjpa.meta.FieldMetaData.resolve(FieldMetaData.java:1732)
          at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:458)
          at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1852)
          at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1786)
          at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:790)
          at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:693)
          at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:617)
          ... 14 more
          NestedThrowables:
          <openjpa-2.0.1-r422266:989424 fatal user error> org.apache.openjpa.persistence.ArgumentException: Unable to resolve type "openjpatest.AddressBook" due to previous errors resolving related type "openjpatest.Organization".
          at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:804)
          at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:693)
          at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:617)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:385)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:358)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:256)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:227)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:195)
          at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:134)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:317)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:241)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:215)
          at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
          at openjpatest.Main.main(Main.java:17)
          java.lang.NullPointerException
          at org.apache.openjpa.jdbc.meta.MappingInfo.mergeJoinColumn(MappingInfo.java:1514)
          at org.apache.openjpa.jdbc.meta.MappingInfo.createJoins(MappingInfo.java:1322)
          at org.apache.openjpa.jdbc.meta.MappingInfo.createForeignKey(MappingInfo.java:1084)
          at org.apache.openjpa.jdbc.meta.ValueMappingInfo.getTypeJoin(ValueMappingInfo.java:115)
          at org.apache.openjpa.jdbc.meta.ValueMappingInfo.getTypeJoin(ValueMappingInfo.java:92)
          at org.apache.openjpa.jdbc.meta.strats.RelationFieldStrategy.map(RelationFieldStrategy.java:167)
          at org.apache.openjpa.jdbc.meta.FieldMapping.setStrategy(FieldMapping.java:146)
          at org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy(RuntimeStrategyInstaller.java:82)
          at org.apache.openjpa.jdbc.meta.FieldMapping.resolveMapping(FieldMapping.java:496)
          at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:461)
          at org.apache.openjpa.jdbc.meta.ClassMapping.resolveMapping(ClassMapping.java:853)
          at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1791)
          at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:790)
          at org.apache.openjpa.meta.MetaDataRepository.resolveMapping(MetaDataRepository.java:751)
          at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:631)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:385)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:358)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:256)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:227)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:195)
          at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:134)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:317)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:241)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:215)
          at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
          at openjpatest.Main.main(Main.java:17)

          Process finished with exit code 1

          Show
          Willis Blackburn added a comment - Test case run: /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin/java -Dfile.encoding=MacRoman -classpath /System/Library/Frameworks/JavaVM.framework/Versions/A/Resources/Deploy.bundle/Contents/Resources/Java/deploy.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/dt.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/javaws.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/jce.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/management-agent.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/plugin.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/sa-jdi.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/alt-rt.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/charsets.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/jconsole.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/jsse.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/ui.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/ext/apple_provider.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/ext/dnsns.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/ext/localedata.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/ext/sunjce_provider.jar:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/ext/sunpkcs11.jar:/Users/wboyce/git/openjpatest/target/classes:/Users/wboyce/.m2/repository/org/apache/openjpa/openjpa/2.0.1/openjpa-2.0.1.jar:/Users/wboyce/.m2/repository/commons-lang/commons-lang/2.1/commons-lang-2.1.jar:/Users/wboyce/.m2/repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar:/Users/wboyce/.m2/repository/net/sourceforge/serp/serp/1.13.1/serp-1.13.1.jar:/Users/wboyce/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar:/Users/wboyce/.m2/repository/org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.1.1/geronimo-jms_1.1_spec-1.1.1.jar:/Users/wboyce/.m2/repository/org/apache/geronimo/specs/geronimo-jta_1.1_spec/1.1.1/geronimo-jta_1.1_spec-1.1.1.jar:/Users/wboyce/.m2/repository/commons-pool/commons-pool/1.5.3/commons-pool-1.5.3.jar:/Users/wboyce/.m2/repository/org/apache/geronimo/specs/geronimo-jpa_2.0_spec/1.1/geronimo-jpa_2.0_spec-1.1.jar:/Users/wboyce/.m2/repository/com/h2database/h2/1.2.143/h2-1.2.143.jar openjpatest.Main 6 db TRACE [main] openjpa.Runtime - Setting the following properties from "file:/Users/wboyce/git/openjpatest/target/classes/META-INF/persistence.xml" into configuration: {openjpa.BrokerFactory=jdbc, openjpa.ConnectionDriverName=org.h2.Driver, openjpa.RuntimeUnenhancedClasses=supported, javax.persistence.provider=org.apache.openjpa.persistence.PersistenceProviderImpl, openjpa.MetaDataFactory=jpa(Types=openjpatest.AddressBook;openjpatest.Group;openjpatest.Organization), openjpa.Log=DefaultLevel=TRACE, PersistenceVersion=2.0, openjpa.ConnectionURL=jdbc:h2:mem:test, openjpa.Id=db} 44 db TRACE [main] openjpa.Runtime - org.apache.openjpa.enhance.InstrumentationFactory.findToolsJar() – couldn't find /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/tools.jar 46 db TRACE [main] openjpa.Runtime - Trying to load javax.validation APIs based on the ValidationMode=AUTO 48 db TRACE [main] openjpa.Runtime - Could not create the optional validation provider. Reason returned: "No available javax.validation APIs" 77 db INFO [main] openjpa.Runtime - Starting OpenJPA 2.0.1 78 db TRACE [main] openjpa.Runtime - Properties: javax.persistence.lock.timeout: 0 javax.persistence.query.timeout: 0 javax.persistence.sharedCache.mode: UNSPECIFIED javax.persistence.validation.group.pre-persist: javax.validation.groups.Default javax.persistence.validation.group.pre-update: javax.validation.groups.Default openjpa.AutoClear: 0 openjpa.AutoDetach: [Ljava.lang.String;@2af081 openjpa.BrokerFactory: jdbc openjpa.BrokerImpl: default openjpa.CacheDistributionPolicy: default openjpa.Callbacks: default openjpa.ClassResolver: default openjpa.Compatibility: default openjpa.ConnectionDriverName: org.h2.Driver openjpa.ConnectionFactoryMode: false openjpa.ConnectionRetainMode: 0 openjpa.ConnectionURL: jdbc:h2:mem:test openjpa.DataCache: false openjpa.DataCacheManager: default openjpa.DataCacheTimeout: -1 openjpa.DetachState: loaded openjpa.DynamicDataStructs: false openjpa.DynamicEnhancementAgent: true openjpa.EntityManagerFactory: default openjpa.FetchBatchSize: -1 openjpa.FetchGroups: [Ljava.lang.String;@313a53d openjpa.FlushBeforeQueries: 0 openjpa.Id: db openjpa.IgnoreChanges: false openjpa.InitializeEagerly: false openjpa.InverseManager: false openjpa.LifecycleEventManager: default openjpa.LockManager: mixed openjpa.Log: true(DefaultLevel=TRACE) openjpa.ManagedRuntime: auto openjpa.MaxFetchDepth: -1 openjpa.MetaDataFactory: jpa(Types=openjpatest.AddressBook;openjpatest.Group;openjpatest.Organization) openjpa.MetaDataRepository: default openjpa.Multithreaded: false openjpa.NontransactionalRead: true openjpa.NontransactionalWrite: true openjpa.Optimistic: true openjpa.OrphanedKeyAction: log openjpa.ProxyManager: default openjpa.QueryCache: false openjpa.QueryCompilationCache: true openjpa.ReadLockLevel: 10 openjpa.RefreshFromDataCache: false openjpa.RestoreState: 1 openjpa.RetainState: true openjpa.RetryClassRegistration: false openjpa.RuntimeUnenhancedClasses: 0 openjpa.SavepointManager: in-mem openjpa.Sequence: table openjpa.TransactionMode: false openjpa.WriteLockLevel: 20 openjpa.jdbc.DriverDataSource: simple openjpa.jdbc.EagerFetchMode: 2 openjpa.jdbc.FetchDirection: 1000 openjpa.jdbc.FinderCache: true openjpa.jdbc.IdentifierUtil: default openjpa.jdbc.LRSSize: 2 openjpa.jdbc.MappingDefaults: jpa openjpa.jdbc.QuerySQLCache: true openjpa.jdbc.ResultSetType: 1003 openjpa.jdbc.SQLFactory: default openjpa.jdbc.SchemaFactory: dynamic openjpa.jdbc.Schemas: [Ljava.lang.String;@2af081 openjpa.jdbc.SubclassFetchMode: 1 openjpa.jdbc.SynchronizeMappings: null openjpa.jdbc.TransactionIsolation: -1 openjpa.jdbc.UpdateManager: default 89 db TRACE [main] openjpa.Runtime - No cache marshaller found for id org.apache.openjpa.conf.MetaDataCacheMaintenance. 140 db TRACE [main] openjpa.MetaData - Using metadata factory "org.apache.openjpa.persistence.jdbc.PersistenceMappingFactory@4d3c7378". 171 db INFO [main] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.H2Dictionary". 271 db TRACE [main] openjpa.jdbc.JDBC - createConnectionFactory: DataSource=org.apache.openjpa.jdbc.schema.SimpleDriverDataSource_@50269997 310 db TRACE [main] openjpa.jdbc.JDBC - DataSource connection setAutoCommit to "true" 524 db TRACE [main] openjpa.jdbc.JDBC - catalogSeparator: . catalogTerm: catalog databaseProductName: H2 databaseProductVersion: 1.2.143 (2010-09-18) driverName: H2 JDBC Driver driverVersion: 1.2.143 (2010-09-18) extraNameCharacters: identifierQuoteString: " numericFunctions: ABS,ACOS,ASIN,ATAN,COS,COT,SIN,TAN,ATAN2,BITAND,BITOR,BITXOR,MOD,CEILING,DEGREES,EXP,FLOOR,LOG,LOG10,RADIANS,SQRT,PI,POWER,RAND,RANDOM_UUID,ROUND,ROUNDMAGIC,SECURE_RAND,SIGN,ENCRYPT,DECRYPT,HASH,TRUNCATE,COMPRESS,EXPAND,ZERO procedureTerm: procedure schemaTerm: schema searchStringEscape: \ sqlKeywords: LIMIT,MINUS,ROWNUM,SYSDATE,SYSTIME,SYSTIMESTAMP,TODAY stringFunctions: ASCII,BIT_LENGTH,LENGTH,OCTET_LENGTH,CHAR,CONCAT,DIFFERENCE,HEXTORAW,RAWTOHEX,INSTR,INSERT,LOWER,UPPER,LEFT,RIGHT,LOCATE,POSITION,LPAD,RPAD,LTRIM,RTRIM,TRIM,REGEXP_REPLACE,REPEAT,REPLACE,SOUNDEX,SPACE,STRINGDECODE,STRINGENCODE,STRINGTOUTF8,SUBSTRING,UTF8TOSTRING,XMLATTR,XMLNODE,XMLCOMMENT,XMLCDATA,XMLSTARTDOC,XMLTEXT systemFunctions: ARRAY_GET,ARRAY_LENGTH,AUTOCOMMIT,CANCEL_SESSION,CASEWHEN,CAST,COALESCE,CONVERT,CURRVAL,CSVREAD,CSVWRITE,DATABASE,DATABASE_PATH,FILE_READ,GREATEST,IDENTITY,IFNULL,LEAST,LOCK_MODE,LOCK_TIMEOUT,LINK_SCHEMA,MEMORY_FREE,MEMORY_USED,NEXTVAL,NULLIF,READONLY,ROWNUM,SCHEMA,SCOPE_IDENTITY,SESSION_ID,SET,TABLE,TRANSACTION_ID,USER timeDateFunctions: CURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMP,DATEADD,DATEDIFF,DAYNAME,DAY_OF_MONTH,DAY_OF_WEEK,DAY_OF_YEAR,EXTRACT,FORMATDATETIME,HOUR,MINUTE,MONTH,MONTHNAME,PARSEDATETIME,QUARTER,SECOND,WEEK,YEAR url: jdbc:h2:mem:test userName: defaultTransactionIsolation: 2 driverMajorVersion: 1 driverMinorVersion: 2 maxBinaryLiteralLength: 0 maxCatalogNameLength: 0 maxCharLiteralLength: 0 maxColumnNameLength: 0 maxColumnsInGroupBy: 0 maxColumnsInIndex: 0 maxColumnsInOrderBy: 0 maxColumnsInSelect: 0 maxColumnsInTable: 0 maxConnections: 0 maxCursorNameLength: 0 maxIndexLength: 0 maxProcedureNameLength: 0 maxRowSize: 0 maxSchemaNameLength: 0 maxStatementLength: 0 maxStatements: 0 maxTableNameLength: 0 maxTablesInSelect: 0 maxUserNameLength: 0 isCatalogAtStart: true isReadOnly: false nullPlusNonNullIsNull: true nullsAreSortedAtEnd: false nullsAreSortedAtStart: false nullsAreSortedHigh: false nullsAreSortedLow: true storesLowerCaseIdentifiers: false storesLowerCaseQuotedIdentifiers: false storesMixedCaseIdentifiers: false storesMixedCaseQuotedIdentifiers: true storesUpperCaseIdentifiers: true storesUpperCaseQuotedIdentifiers: false supportsAlterTableWithAddColumn: true supportsAlterTableWithDropColumn: true supportsANSI92EntryLevelSQL: true supportsANSI92FullSQL: false supportsANSI92IntermediateSQL: false supportsCatalogsInDataManipulation: true supportsCatalogsInIndexDefinitions: true supportsCatalogsInPrivilegeDefinitions: true supportsCatalogsInProcedureCalls: false supportsCatalogsInTableDefinitions: true supportsColumnAliasing: true supportsConvert: true supportsCoreSQLGrammar: true supportsCorrelatedSubqueries: true supportsDataDefinitionAndDataManipulationTransactions: false supportsDataManipulationTransactionsOnly: true supportsDifferentTableCorrelationNames: false supportsExpressionsInOrderBy: true supportsExtendedSQLGrammar: false supportsFullOuterJoins: false supportsGroupBy: true supportsGroupByBeyondSelect: true supportsGroupByUnrelated: true supportsIntegrityEnhancementFacility: true supportsLikeEscapeClause: true supportsLimitedOuterJoins: true supportsMinimumSQLGrammar: true supportsMixedCaseIdentifiers: false supportsMixedCaseQuotedIdentifiers: true supportsMultipleResultSets: false supportsMultipleTransactions: true supportsNonNullableColumns: true supportsOpenCursorsAcrossCommit: false supportsOpenCursorsAcrossRollback: false supportsOpenStatementsAcrossCommit: true supportsOpenStatementsAcrossRollback: true supportsOrderByUnrelated: true supportsOuterJoins: true supportsPositionedDelete: true supportsPositionedUpdate: true supportsSchemasInDataManipulation: true supportsSchemasInIndexDefinitions: true supportsSchemasInPrivilegeDefinitions: true supportsSchemasInProcedureCalls: true supportsSchemasInTableDefinitions: true supportsSelectForUpdate: true supportsStoredProcedures: false supportsSubqueriesInComparisons: true supportsSubqueriesInExists: true supportsSubqueriesInIns: true supportsSubqueriesInQuantifieds: true supportsTableCorrelationNames: true supportsTransactions: true supportsUnion: true supportsUnionAll: true usesLocalFilePerTable: false usesLocalFiles: true allProceduresAreCallable: true allTablesAreSelectable: true dataDefinitionCausesTransactionCommit: true dataDefinitionIgnoredInTransactions: false doesMaxRowSizeIncludeBlobs: false supportsBatchUpdates: true 526 db TRACE [main] openjpa.jdbc.JDBC - Initial connection autoCommit: true, holdability: 1, TransactionIsolation: 2 528 db TRACE [main] openjpa.jdbc.JDBC - <t 421134813, conn 2054185226> [0 ms] close 580 db TRACE [main] openjpa.Runtime - Found datasource1: datasource 1344706967 from configuration. StoreContext: org.apache.openjpa.kernel.FinalizingBrokerImpl@359ecd80 590 db TRACE [main] openjpa.MetaData - Scanning resource "META-INF/orm.xml" for persistent types. 591 db TRACE [main] openjpa.MetaData - The persistent unit root url is "null" 591 db TRACE [main] openjpa.MetaData - parsePersistentTypeNames() found [openjpatest.Group, openjpatest.Organization, openjpatest.AddressBook] . 591 db TRACE [main] openjpa.MetaData - Found 3 classes with metadata in 4 milliseconds. 619 db TRACE [main] openjpa.Enhance - org.apache.openjpa.enhance.InstrumentationFactory.findToolsJar() – couldn't find /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/tools.jar 620 db INFO [main] openjpa.Enhance - Creating subclass for " [class openjpatest.Group, class openjpatest.Organization, class openjpatest.AddressBook] ". This means that your application will be less efficient and will consume more memory than it would if you ran the OpenJPA enhancer. Additionally, lazy loading will not be available for one-to-one and many-to-one persistent attributes in types using field access; they will be loaded eagerly instead. 645 db TRACE [main] openjpa.Runtime - No cache marshaller found for id org.apache.openjpa.conf.MetaDataCacheMaintenance. 645 db TRACE [main] openjpa.MetaData - Using metadata factory "org.apache.openjpa.persistence.jdbc.PersistenceMappingFactory@643cb075". 645 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.Group" under mode " [META] ". 646 db TRACE [main] openjpa.MetaData - Scanning resource "META-INF/orm.xml" for persistent types. 646 db TRACE [main] openjpa.MetaData - The persistent unit root url is "null" 646 db TRACE [main] openjpa.MetaData - parsePersistentTypeNames() found [openjpatest.Group, openjpatest.Organization, openjpatest.AddressBook] . 646 db TRACE [main] openjpa.MetaData - Found 3 classes with metadata in 1 milliseconds. 696 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.Group". 697 db TRACE [main] openjpa.MetaData - Parsing package "openjpatest.Group". 711 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.Group". 711 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation. 748 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.Group" to "null". 750 db TRACE [main] openjpa.MetaData - Resolving metadata for "openjpatest.Group@471860896". 750 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@471860896.id". 757 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@471860896.name". 757 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@471860896.organization". 757 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.Organization" under mode " [META] ". 757 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.Organization". 757 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.Organization". 757 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation. 764 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.Organization" to "null". 764 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@471860896.version". 765 db TRACE [main] openjpa.MetaData - Resolving metadata for "openjpatest.Organization@92700153". 765 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Organization@92700153.addressBook". 765 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.AddressBook" under mode " [META] ". 765 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.AddressBook". 766 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.AddressBook". 766 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation. 773 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.EmailAddress". 773 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation. 773 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.AddressBook" to "null". 773 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Organization@92700153.hostNames". 773 db TRACE [main] openjpa.MetaData - Resolving embedded metadata for "java.lang.Object@259650411". 775 db TRACE [main] openjpa.MetaData - Preparing mapping for "openjpatest.Group". 778 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@471860896.id". 783 db TRACE [main] openjpa.MetaData - "id" has mapping strategy "org.apache.openjpa.jdbc.meta.strats.StringFieldStrategy". 784 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@471860896.name". 784 db TRACE [main] openjpa.MetaData - "name" has mapping strategy "org.apache.openjpa.jdbc.meta.strats.StringFieldStrategy". 784 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@471860896.version". 784 db TRACE [main] openjpa.MetaData - "version" has mapping strategy "none". 787 db TRACE [main] openjpa.MetaData - "openjpatest.Group<discriminator>" has mapping strategy "value-map". 788 db TRACE [main] openjpa.MetaData - "openjpatest.Group<version>" has mapping strategy "version-number". 788 db TRACE [main] openjpa.MetaData - Resolving mapping for "openjpatest.Group@471860896". 788 db TRACE [main] openjpa.MetaData - "openjpatest.Group" has mapping strategy "full". 788 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@471860896.organization". Exception in thread "main" <openjpa-2.0.1-r422266:989424 fatal user error> org.apache.openjpa.persistence.ArgumentException: Errors encountered while resolving metadata. See nested exceptions for details. at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:642) at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:385) at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:358) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:256) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:227) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:195) at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:134) at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:317) at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:241) at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:215) at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60) at openjpatest.Main.main(Main.java:17) Caused by: <openjpa-2.0.1-r422266:989424 nonfatal user error> org.apache.openjpa.persistence.ArgumentException: No metadata was found for type "class java.lang.Object". The class is not enhanced. at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:377) at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:358) at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1821) at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1786) at org.apache.openjpa.meta.ValueMetaDataImpl.resolve(ValueMetaDataImpl.java:435) at org.apache.openjpa.jdbc.meta.ValueMappingImpl.resolve(ValueMappingImpl.java:494) at org.apache.openjpa.meta.FieldMetaData.resolve(FieldMetaData.java:1732) at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:458) at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1852) at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1786) at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:790) at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:693) at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:617) ... 14 more NestedThrowables: <openjpa-2.0.1-r422266:989424 fatal user error> org.apache.openjpa.persistence.ArgumentException: Unable to resolve type "openjpatest.AddressBook" due to previous errors resolving related type "openjpatest.Organization". at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:804) at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:693) at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:617) at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:385) at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:358) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:256) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:227) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:195) at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:134) at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:317) at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:241) at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:215) at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60) at openjpatest.Main.main(Main.java:17) java.lang.NullPointerException at org.apache.openjpa.jdbc.meta.MappingInfo.mergeJoinColumn(MappingInfo.java:1514) at org.apache.openjpa.jdbc.meta.MappingInfo.createJoins(MappingInfo.java:1322) at org.apache.openjpa.jdbc.meta.MappingInfo.createForeignKey(MappingInfo.java:1084) at org.apache.openjpa.jdbc.meta.ValueMappingInfo.getTypeJoin(ValueMappingInfo.java:115) at org.apache.openjpa.jdbc.meta.ValueMappingInfo.getTypeJoin(ValueMappingInfo.java:92) at org.apache.openjpa.jdbc.meta.strats.RelationFieldStrategy.map(RelationFieldStrategy.java:167) at org.apache.openjpa.jdbc.meta.FieldMapping.setStrategy(FieldMapping.java:146) at org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy(RuntimeStrategyInstaller.java:82) at org.apache.openjpa.jdbc.meta.FieldMapping.resolveMapping(FieldMapping.java:496) at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:461) at org.apache.openjpa.jdbc.meta.ClassMapping.resolveMapping(ClassMapping.java:853) at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1791) at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:790) at org.apache.openjpa.meta.MetaDataRepository.resolveMapping(MetaDataRepository.java:751) at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:631) at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:385) at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:358) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:256) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:227) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:195) at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:134) at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:317) at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:241) at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:215) at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60) at openjpatest.Main.main(Main.java:17) Process finished with exit code 1
          Hide
          Donald Woods added a comment -

          Updated output using trunk and OPENJPA-1811 (dynamic enhancer working on Mac) -

          drwoods:target/$ java -cp ./openjpa-all-2.1.0-SNAPSHOT.jar:./h2-1.2.143.jar:./openjpatest-trunk.jar openjpatest.Main -Dopenjpa.Log=DefaultLevel=TRACE
          4 db TRACE [main] openjpa.Runtime - Setting the following properties from "jar:file:/private/tmp/openjpatest/target/openjpatest-trunk.jar!/META-INF/persistence.xml" into configuration:

          {openjpa.BrokerFactory=jdbc, openjpa.ConnectionDriverName=org.h2.Driver, openjpa.RuntimeUnenhancedClasses=supported, javax.persistence.provider=org.apache.openjpa.persistence.PersistenceProviderImpl, openjpa.MetaDataFactory=jpa(Types=openjpatest.AddressBook;openjpatest.Group;openjpatest.Organization), openjpa.Log=DefaultLevel=TRACE, PersistenceVersion=2.0, openjpa.ConnectionURL=jdbc:h2:mem:test, openjpa.Id=db}

          64 db TRACE [main] openjpa.Runtime - org.apache.openjpa.enhance.InstrumentationFactory.getInstrumentation() _inst:null _dynamicallyInstall:true
          66 db TRACE [main] openjpa.Runtime - org.apache.openjpa.enhance.InstrumentationFactory.findToolsJar() – couldn't find default /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/tools.jar
          66 db TRACE [main] openjpa.Runtime - org.apache.openjpa.enhance.InstrumentationFactory.findToolsJar() – found /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/classes.jar
          1 db TRACE [main] openjpa.Runtime - Setting the following properties from "jar:file:/private/tmp/openjpatest/target/openjpatest-trunk.jar!/META-INF/persistence.xml" into configuration:

          {openjpa.ConnectionDriverName=org.h2.Driver, openjpa.RuntimeUnenhancedClasses=supported, javax.persistence.provider=org.apache.openjpa.persistence.PersistenceProviderImpl, openjpa.MetaDataFactory=jpa(Types=openjpatest.AddressBook;openjpatest.Group;openjpatest.Organization), openjpa.Log=DefaultLevel=TRACE, PersistenceVersion=2.0, openjpa.ConnectionURL=jdbc:h2:mem:test, openjpa.Id=db}

          69 db TRACE [main] openjpa.Runtime - No cache marshaller found for id org.apache.openjpa.conf.MetaDataCacheMaintenance.
          130 db TRACE [main] openjpa.Runtime - No cache marshaller found for id org.apache.openjpa.conf.MetaDataCacheMaintenance.
          154 db TRACE [main] openjpa.MetaData - Scanning resource "META-INF/orm.xml" for persistent types.
          156 db TRACE [main] openjpa.MetaData - The persistent unit root url is "null"
          156 db TRACE [main] openjpa.MetaData - parsePersistentTypeNames() found [openjpatest.Group, openjpatest.Organization, openjpatest.AddressBook].
          156 db TRACE [main] openjpa.MetaData - Found 3 classes with metadata in 25 milliseconds.
          160 db TRACE [main] openjpa.MetaData - Clearing metadata repository "org.apache.openjpa.meta.MetaDataRepository@4e4ee70b".
          716 db INFO [main] openjpa.Runtime - OpenJPA dynamically loaded the class enhancer. Any classes that were not enhanced at build time will be enhanced when they are loaded by the JVM.
          718 db TRACE [main] openjpa.Runtime - Trying to load javax.validation APIs based on the ValidationMode=AUTO
          846 db INFO [main] openjpa.Runtime - OpenJPA dynamically loaded a validation provider.
          874 db TRACE [main] openjpa.Runtime - org.apache.openjpa.persistence.PersistenceProviderImpl@7114460 creating org.apache.openjpa.persistence.EntityManagerFactoryImpl@7e9ffe3f for PU db.
          877 db INFO [main] openjpa.Runtime - Starting OpenJPA 2.1.0-SNAPSHOT
          879 db TRACE [main] openjpa.Runtime - Properties: javax.persistence.lock.timeout: 0
          javax.persistence.query.timeout: 0
          javax.persistence.sharedCache.mode: UNSPECIFIED
          javax.persistence.validation.group.pre-persist: javax.validation.groups.Default
          javax.persistence.validation.group.pre-update: javax.validation.groups.Default
          openjpa.AutoClear: 0
          openjpa.AutoDetach: [Ljava.lang.String;@30ff8c74
          openjpa.BrokerFactory: jdbc
          openjpa.BrokerImpl: default
          openjpa.CacheDistributionPolicy: default
          openjpa.Callbacks: default
          openjpa.ClassResolver: default
          openjpa.Compatibility: default
          openjpa.ConnectionDriverName: org.h2.Driver
          openjpa.ConnectionFactoryMode: false
          openjpa.ConnectionRetainMode: 0
          openjpa.ConnectionURL: jdbc:h2:mem:test
          openjpa.DataCache: false
          openjpa.DataCacheManager: default
          openjpa.DataCacheTimeout: -1
          openjpa.DetachState: loaded
          openjpa.DynamicDataStructs: false
          openjpa.DynamicEnhancementAgent: true
          openjpa.EntityManagerFactory: default
          openjpa.FetchBatchSize: -1
          openjpa.FetchGroups: [Ljava.lang.String;@595e2ccd
          openjpa.FlushBeforeQueries: 0
          openjpa.Id: db
          openjpa.IgnoreChanges: false
          openjpa.InitializeEagerly: false
          openjpa.InstrumentationManager: default
          openjpa.InverseManager: false
          openjpa.LifecycleEventManager: validating
          openjpa.LockManager: mixed
          openjpa.Log: true(DefaultLevel=TRACE)
          openjpa.ManagedRuntime: auto
          openjpa.MaxFetchDepth: -1
          openjpa.MetaDataFactory: jpa(Types=openjpatest.AddressBook;openjpatest.Group;openjpatest.Organization)
          openjpa.MetaDataRepository: default
          openjpa.Multithreaded: false
          openjpa.NontransactionalRead: true
          openjpa.NontransactionalWrite: true
          openjpa.Optimistic: true
          openjpa.OrphanedKeyAction: log
          openjpa.ProxyManager: default
          openjpa.QueryCache: false
          openjpa.QueryCompilationCache: true
          openjpa.ReadLockLevel: 10
          openjpa.RefreshFromDataCache: false
          openjpa.RestoreState: 1
          openjpa.RetainState: true
          openjpa.RetryClassRegistration: false
          openjpa.RuntimeUnenhancedClasses: 0
          openjpa.SavepointManager: in-mem
          openjpa.Sequence: table
          openjpa.TransactionMode: false
          openjpa.WriteLockLevel: 20
          openjpa.jdbc.DriverDataSource: auto
          openjpa.jdbc.EagerFetchMode: 2
          openjpa.jdbc.FetchDirection: 1000
          openjpa.jdbc.FinderCache: true
          openjpa.jdbc.IdentifierUtil: default
          openjpa.jdbc.LRSSize: 2
          openjpa.jdbc.MappingDefaults: jpa
          openjpa.jdbc.QuerySQLCache: true
          openjpa.jdbc.ResultSetType: 1003
          openjpa.jdbc.SQLFactory: default
          openjpa.jdbc.SchemaFactory: dynamic
          openjpa.jdbc.Schemas: [Ljava.lang.String;@30ff8c74
          openjpa.jdbc.SubclassFetchMode: 1
          openjpa.jdbc.SynchronizeMappings: null
          openjpa.jdbc.TransactionIsolation: -1
          openjpa.jdbc.UpdateManager: default
          881 db TRACE [main] openjpa.Runtime - No cache marshaller found for id org.apache.openjpa.conf.MetaDataCacheMaintenance.
          973 db TRACE [main] openjpa.MetaData - Using metadata factory "org.apache.openjpa.persistence.jdbc.PersistenceMappingFactory@565bb966".
          1024 db INFO [main] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.H2Dictionary".
          1170 db TRACE [main] openjpa.jdbc.JDBC - createConnectionFactory: DataSource=org.apache.openjpa.jdbc.schema.AutoDriverDataSource_@5c6ed322
          1260 db TRACE [main] openjpa.jdbc.JDBC - DataSource connection setAutoCommit to "true"
          CCCCC - using DBCPDriverDataSource
          1817 db TRACE [main] openjpa.jdbc.JDBC - catalogSeparator: .
          catalogTerm: catalog
          databaseProductName: H2
          databaseProductVersion: 1.2.143 (2010-09-18)
          driverName: H2 JDBC Driver
          driverVersion: 1.2.143 (2010-09-18)
          extraNameCharacters:
          identifierQuoteString: "
          numericFunctions: ABS,ACOS,ASIN,ATAN,COS,COT,SIN,TAN,ATAN2,BITAND,BITOR,BITXOR,MOD,CEILING,DEGREES,EXP,FLOOR,LOG,LOG10,RADIANS,SQRT,PI,POWER,RAND,RANDOM_UUID,ROUND,ROUNDMAGIC,SECURE_RAND,SIGN,ENCRYPT,DECRYPT,HASH,TRUNCATE,COMPRESS,EXPAND,ZERO
          procedureTerm: procedure
          schemaTerm: schema
          searchStringEscape: \
          sqlKeywords: LIMIT,MINUS,ROWNUM,SYSDATE,SYSTIME,SYSTIMESTAMP,TODAY
          stringFunctions: ASCII,BIT_LENGTH,LENGTH,OCTET_LENGTH,CHAR,CONCAT,DIFFERENCE,HEXTORAW,RAWTOHEX,INSTR,INSERT,LOWER,UPPER,LEFT,RIGHT,LOCATE,POSITION,LPAD,RPAD,LTRIM,RTRIM,TRIM,REGEXP_REPLACE,REPEAT,REPLACE,SOUNDEX,SPACE,STRINGDECODE,STRINGENCODE,STRINGTOUTF8,SUBSTRING,UTF8TOSTRING,XMLATTR,XMLNODE,XMLCOMMENT,XMLCDATA,XMLSTARTDOC,XMLTEXT
          systemFunctions: ARRAY_GET,ARRAY_LENGTH,AUTOCOMMIT,CANCEL_SESSION,CASEWHEN,CAST,COALESCE,CONVERT,CURRVAL,CSVREAD,CSVWRITE,DATABASE,DATABASE_PATH,FILE_READ,GREATEST,IDENTITY,IFNULL,LEAST,LOCK_MODE,LOCK_TIMEOUT,LINK_SCHEMA,MEMORY_FREE,MEMORY_USED,NEXTVAL,NULLIF,READONLY,ROWNUM,SCHEMA,SCOPE_IDENTITY,SESSION_ID,SET,TABLE,TRANSACTION_ID,USER
          timeDateFunctions: CURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMP,DATEADD,DATEDIFF,DAYNAME,DAY_OF_MONTH,DAY_OF_WEEK,DAY_OF_YEAR,EXTRACT,FORMATDATETIME,HOUR,MINUTE,MONTH,MONTHNAME,PARSEDATETIME,QUARTER,SECOND,WEEK,YEAR
          url: jdbc:h2:mem:test
          userName:
          defaultTransactionIsolation: 2
          driverMajorVersion: 1
          driverMinorVersion: 2
          maxBinaryLiteralLength: 0
          maxCatalogNameLength: 0
          maxCharLiteralLength: 0
          maxColumnNameLength: 0
          maxColumnsInGroupBy: 0
          maxColumnsInIndex: 0
          maxColumnsInOrderBy: 0
          maxColumnsInSelect: 0
          maxColumnsInTable: 0
          maxConnections: 0
          maxCursorNameLength: 0
          maxIndexLength: 0
          maxProcedureNameLength: 0
          maxRowSize: 0
          maxSchemaNameLength: 0
          maxStatementLength: 0
          maxStatements: 0
          maxTableNameLength: 0
          maxTablesInSelect: 0
          maxUserNameLength: 0
          isCatalogAtStart: true
          isReadOnly: false
          nullPlusNonNullIsNull: true
          nullsAreSortedAtEnd: false
          nullsAreSortedAtStart: false
          nullsAreSortedHigh: false
          nullsAreSortedLow: true
          storesLowerCaseIdentifiers: false
          storesLowerCaseQuotedIdentifiers: false
          storesMixedCaseIdentifiers: false
          storesMixedCaseQuotedIdentifiers: true
          storesUpperCaseIdentifiers: true
          storesUpperCaseQuotedIdentifiers: false
          supportsAlterTableWithAddColumn: true
          supportsAlterTableWithDropColumn: true
          supportsANSI92EntryLevelSQL: true
          supportsANSI92FullSQL: false
          supportsANSI92IntermediateSQL: false
          supportsCatalogsInDataManipulation: true
          supportsCatalogsInIndexDefinitions: true
          supportsCatalogsInPrivilegeDefinitions: true
          supportsCatalogsInProcedureCalls: false
          supportsCatalogsInTableDefinitions: true
          supportsColumnAliasing: true
          supportsConvert: true
          supportsCoreSQLGrammar: true
          supportsCorrelatedSubqueries: true
          supportsDataDefinitionAndDataManipulationTransactions: false
          supportsDataManipulationTransactionsOnly: true
          supportsDifferentTableCorrelationNames: false
          supportsExpressionsInOrderBy: true
          supportsExtendedSQLGrammar: false
          supportsFullOuterJoins: false
          supportsGroupBy: true
          supportsGroupByBeyondSelect: true
          supportsGroupByUnrelated: true
          supportsIntegrityEnhancementFacility: true
          supportsLikeEscapeClause: true
          supportsLimitedOuterJoins: true
          supportsMinimumSQLGrammar: true
          supportsMixedCaseIdentifiers: false
          supportsMixedCaseQuotedIdentifiers: true
          supportsMultipleResultSets: false
          supportsMultipleTransactions: true
          supportsNonNullableColumns: true
          supportsOpenCursorsAcrossCommit: false
          supportsOpenCursorsAcrossRollback: false
          supportsOpenStatementsAcrossCommit: true
          supportsOpenStatementsAcrossRollback: true
          supportsOrderByUnrelated: true
          supportsOuterJoins: true
          supportsPositionedDelete: true
          supportsPositionedUpdate: true
          supportsSchemasInDataManipulation: true
          supportsSchemasInIndexDefinitions: true
          supportsSchemasInPrivilegeDefinitions: true
          supportsSchemasInProcedureCalls: true
          supportsSchemasInTableDefinitions: true
          supportsSelectForUpdate: true
          supportsStoredProcedures: false
          supportsSubqueriesInComparisons: true
          supportsSubqueriesInExists: true
          supportsSubqueriesInIns: true
          supportsSubqueriesInQuantifieds: true
          supportsTableCorrelationNames: true
          supportsTransactions: true
          supportsUnion: true
          supportsUnionAll: true
          usesLocalFilePerTable: false
          usesLocalFiles: true
          allProceduresAreCallable: true
          allTablesAreSelectable: true
          dataDefinitionCausesTransactionCommit: true
          dataDefinitionIgnoredInTransactions: false
          doesMaxRowSizeIncludeBlobs: false
          supportsBatchUpdates: true
          1821 db TRACE [main] openjpa.jdbc.JDBC - Initial connection autoCommit: true, holdability: 1, TransactionIsolation: 2
          1833 db TRACE [main] openjpa.jdbc.JDBC - <t 1205573714, conn 569201753> [3 ms] close
          1928 db TRACE [main] openjpa.Runtime - Found datasource1: datasource 1550766882 from configuration. StoreContext: org.apache.openjpa.kernel.FinalizingBrokerImpl@345c98f3
          1937 db TRACE [main] openjpa.MetaData - Scanning resource "META-INF/orm.xml" for persistent types.
          1937 db TRACE [main] openjpa.MetaData - The persistent unit root url is "null"
          1938 db TRACE [main] openjpa.MetaData - parsePersistentTypeNames() found [openjpatest.Group, openjpatest.Organization, openjpatest.AddressBook].
          1938 db TRACE [main] openjpa.MetaData - Found 3 classes with metadata in 1 milliseconds.
          1385 db TRACE [main] openjpa.Enhance - "openjpatest/Group" requires runtime enhancement: true
          1416 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.Group" under mode "[META][QUERY]".
          1433 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.Group".
          1433 db TRACE [main] openjpa.MetaData - Parsing package "openjpatest.Group".
          1469 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.Group".
          1469 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation.
          1504 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.Group" to "null".
          1504 db TRACE [main] openjpa.MetaData - Resolving metadata for "openjpatest.Group@1606871064".
          1504 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@1606871064.id".
          1511 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@1606871064.name".
          1511 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@1606871064.organization".
          1511 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.Organization" under mode "[META][QUERY]".
          1511 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.Organization".
          1513 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.Organization".
          1513 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation.
          1521 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.Organization" to "null".
          1521 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@1606871064.version".
          1522 db TRACE [main] openjpa.MetaData - Resolving metadata for "openjpatest.Organization@570110481".
          1522 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Organization@570110481.addressBook".
          1522 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.AddressBook" under mode "[META][QUERY]".
          1522 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.AddressBook".
          1523 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.AddressBook".
          1523 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation.
          1527 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.EmailAddress".
          1527 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation.
          1527 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.AddressBook" to "null".
          1527 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Organization@570110481.hostNames".
          1527 db TRACE [main] openjpa.MetaData - Resolving embedded metadata for "java.lang.Object@1671818348".
          1528 db TRACE [main] openjpa.MetaData - Preparing mapping for "openjpatest.Group".
          1528 db TRACE [main] openjpa.MetaData - Resolving mapping for "openjpatest.Group@1606871064".
          1528 db WARN [main] openjpa.Enhance - An exception was thrown while attempting to perform class file transformation on "openjpatest/Group":
          <openjpa-2.1.0-SNAPSHOT-r422266:999559M fatal user error> org.apache.openjpa.util.MetaDataException: Errors encountered while resolving metadata. See nested exceptions for details.
          at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:655)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:398)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:283)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:254)
          at org.apache.openjpa.enhance.PCClassFileTransformer.transform0(PCClassFileTransformer.java:143)
          at org.apache.openjpa.enhance.PCClassFileTransformer.transform(PCClassFileTransformer.java:124)
          at sun.instrument.TransformerManager.transform(TransformerManager.java:169)
          at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:365)
          at java.lang.ClassLoader.defineClass1(Native Method)
          at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
          at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
          at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
          at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
          at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
          at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
          at java.security.AccessController.doPrivileged(Native Method)
          at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
          at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
          at java.lang.Class.forName0(Native Method)
          at java.lang.Class.forName(Class.java:247)
          at org.apache.openjpa.meta.MetaDataRepository.classForName(MetaDataRepository.java:1538)
          at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypesInternal(MetaDataRepository.java:1514)
          at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes(MetaDataRepository.java:1492)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:283)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:239)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:213)
          at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
          at openjpatest.Main.main(Main.java:17)
          Caused by: <openjpa-2.1.0-SNAPSHOT-r422266:999559M nonfatal user error> org.apache.openjpa.util.MetaDataException: No metadata was found for type "class java.lang.Object". The class is not enhanced.
          at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:390)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371)
          at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1822)
          at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1787)
          at org.apache.openjpa.meta.ValueMetaDataImpl.resolve(ValueMetaDataImpl.java:435)
          at org.apache.openjpa.meta.FieldMetaData.resolve(FieldMetaData.java:1732)
          at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1853)
          at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1787)
          at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:809)
          at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:706)
          at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:630)
          ... 33 more
          NestedThrowables:
          <openjpa-2.1.0-SNAPSHOT-r422266:999559M fatal user error> org.apache.openjpa.util.MetaDataException: Unable to resolve type "openjpatest.AddressBook" due to previous errors resolving related type "openjpatest.Organization".
          at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:822)
          at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:706)
          at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:630)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:398)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:283)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:254)
          at org.apache.openjpa.enhance.PCClassFileTransformer.transform0(PCClassFileTransformer.java:143)
          at org.apache.openjpa.enhance.PCClassFileTransformer.transform(PCClassFileTransformer.java:124)
          at sun.instrument.TransformerManager.transform(TransformerManager.java:169)
          at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:365)
          at java.lang.ClassLoader.defineClass1(Native Method)
          at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
          at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
          at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
          at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
          at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
          at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
          at java.security.AccessController.doPrivileged(Native Method)
          at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
          at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
          at java.lang.Class.forName0(Native Method)
          at java.lang.Class.forName(Class.java:247)
          at org.apache.openjpa.meta.MetaDataRepository.classForName(MetaDataRepository.java:1538)
          at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypesInternal(MetaDataRepository.java:1514)
          at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes(MetaDataRepository.java:1492)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:283)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:239)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:213)
          at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
          at openjpatest.Main.main(Main.java:17)
          1535 db TRACE [main] openjpa.Enhance - "openjpatest/Organization" requires runtime enhancement: true
          1537 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.Organization" under mode "[META][QUERY]".
          1537 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.Organization".
          1538 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.Organization".
          1538 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation.
          1540 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.Organization" to "null".
          1540 db TRACE [main] openjpa.MetaData - Resolving metadata for "openjpatest.Organization@1056794277".
          1540 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Organization@1056794277.addressBook".
          1541 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.AddressBook" under mode "[META][QUERY]".
          1541 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.AddressBook".
          1541 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.AddressBook".
          1541 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation.
          1542 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.EmailAddress".
          1542 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation.
          1542 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.AddressBook" to "null".
          1543 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Organization@1056794277.hostNames".
          1543 db TRACE [main] openjpa.MetaData - Resolving embedded metadata for "java.lang.Object@1851652849".
          1543 db WARN [main] openjpa.Enhance - An exception was thrown while attempting to perform class file transformation on "openjpatest/Organization":
          <openjpa-2.1.0-SNAPSHOT-r422266:999559M fatal user error> org.apache.openjpa.util.MetaDataException: Errors encountered while resolving metadata. See nested exceptions for details.
          at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:655)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:398)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:283)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:254)
          at org.apache.openjpa.enhance.PCClassFileTransformer.transform0(PCClassFileTransformer.java:143)
          at org.apache.openjpa.enhance.PCClassFileTransformer.transform(PCClassFileTransformer.java:124)
          at sun.instrument.TransformerManager.transform(TransformerManager.java:169)
          at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:365)
          at java.lang.ClassLoader.defineClass1(Native Method)
          at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
          at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
          at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
          at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
          at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
          at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
          at java.security.AccessController.doPrivileged(Native Method)
          at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
          at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
          at java.lang.Class.forName0(Native Method)
          at java.lang.Class.forName(Class.java:247)
          at org.apache.openjpa.meta.MetaDataRepository.classForName(MetaDataRepository.java:1538)
          at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypesInternal(MetaDataRepository.java:1514)
          at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes(MetaDataRepository.java:1492)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:283)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:239)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:213)
          at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
          at openjpatest.Main.main(Main.java:17)
          Caused by: <openjpa-2.1.0-SNAPSHOT-r422266:999559M nonfatal user error> org.apache.openjpa.util.MetaDataException: No metadata was found for type "class java.lang.Object". The class is not enhanced.
          at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:390)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371)
          at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1822)
          at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1787)
          at org.apache.openjpa.meta.ValueMetaDataImpl.resolve(ValueMetaDataImpl.java:435)
          at org.apache.openjpa.meta.FieldMetaData.resolve(FieldMetaData.java:1732)
          at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1853)
          at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1787)
          at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:809)
          at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:706)
          at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:630)
          ... 33 more
          NestedThrowables:
          <openjpa-2.1.0-SNAPSHOT-r422266:999559M fatal user error> org.apache.openjpa.util.MetaDataException: Unable to resolve type "openjpatest.AddressBook" due to previous errors resolving related type "openjpatest.Organization".
          at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:822)
          at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:706)
          at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:630)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:398)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:283)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:254)
          at org.apache.openjpa.enhance.PCClassFileTransformer.transform0(PCClassFileTransformer.java:143)
          at org.apache.openjpa.enhance.PCClassFileTransformer.transform(PCClassFileTransformer.java:124)
          at sun.instrument.TransformerManager.transform(TransformerManager.java:169)
          at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:365)
          at java.lang.ClassLoader.defineClass1(Native Method)
          at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
          at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
          at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
          at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
          at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
          at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
          at java.security.AccessController.doPrivileged(Native Method)
          at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
          at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
          at java.lang.Class.forName0(Native Method)
          at java.lang.Class.forName(Class.java:247)
          at org.apache.openjpa.meta.MetaDataRepository.classForName(MetaDataRepository.java:1538)
          at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypesInternal(MetaDataRepository.java:1514)
          at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes(MetaDataRepository.java:1492)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:283)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:239)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:213)
          at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
          at openjpatest.Main.main(Main.java:17)
          1547 db TRACE [main] openjpa.Enhance - "openjpatest/AddressBook" requires runtime enhancement: true
          1549 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.AddressBook" under mode "[META][QUERY]".
          1549 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.AddressBook".
          1549 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.AddressBook".
          1550 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation.
          1551 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.EmailAddress".
          1551 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation.
          1551 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.AddressBook" to "null".
          1551 db TRACE [main] openjpa.MetaData - Resolving metadata for "openjpatest.AddressBook@1543904466".
          1551 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.AddressBook@1543904466.id".
          1551 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.AddressBook@1543904466.primaryEmailAddress".
          1551 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.EmailAddress" under mode "[META][QUERY]".
          1551 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.EmailAddress".
          1551 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.EmailAddress".
          1551 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation.
          1552 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.EmailAddress" to "null".
          1552 db TRACE [main] openjpa.MetaData - Resolving embedded metadata for "openjpatest.EmailAddress@357453361".
          1552 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.EmailAddress" to "null".
          1552 db TRACE [main] openjpa.MetaData - Resolving metadata for "openjpatest.EmailAddress@1206877668".
          1552 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.EmailAddress@1206877668.email".
          1552 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.EmailAddress@357453361.email".
          1552 db TRACE [main] openjpa.MetaData - Preparing mapping for "openjpatest.AddressBook".
          1552 db TRACE [main] openjpa.MetaData - Preparing mapping for "openjpatest.EmailAddress".
          1553 db TRACE [main] openjpa.MetaData - Resolving mapping for "openjpatest.AddressBook@1543904466".
          1553 db TRACE [main] openjpa.MetaData - Resolving mapping for "openjpatest.EmailAddress@1206877668".
          1553 db TRACE [main] openjpa.Enhance - Enhancing type "class openjpatest.AddressBook" loaded by org.apache.openjpa.lib.util.TemporaryClassLoader@38ffd135.
          2358 db TRACE [main] openjpa.Enhance - org.apache.openjpa.enhance.InstrumentationFactory.getInstrumentation() _inst:sun.instrument.InstrumentationImpl@31d8d237 _dynamicallyInstall:true
          2359 db INFO [main] openjpa.Enhance - Creating subclass and redefining methods for "[class openjpatest.Group, class openjpatest.Organization]". This means that your application will be less efficient than it would if you ran the OpenJPA enhancer.
          2364 db TRACE [main] openjpa.Runtime - No cache marshaller found for id org.apache.openjpa.conf.MetaDataCacheMaintenance.
          2364 db TRACE [main] openjpa.MetaData - Using metadata factory "org.apache.openjpa.persistence.jdbc.PersistenceMappingFactory@109b2a51".
          2364 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.Group" under mode "[META]".
          2364 db TRACE [main] openjpa.MetaData - Scanning resource "META-INF/orm.xml" for persistent types.
          2364 db TRACE [main] openjpa.MetaData - The persistent unit root url is "null"
          2364 db TRACE [main] openjpa.MetaData - parsePersistentTypeNames() found [openjpatest.Group, openjpatest.Organization, openjpatest.AddressBook].
          2365 db TRACE [main] openjpa.MetaData - Found 3 classes with metadata in 0 milliseconds.
          2394 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.Group".
          2394 db TRACE [main] openjpa.MetaData - Parsing package "openjpatest.Group".
          2405 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.Group".
          2405 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation.
          2418 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.Group" to "null".
          2419 db TRACE [main] openjpa.MetaData - Resolving metadata for "openjpatest.Group@778653458".
          2419 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@778653458.id".
          2419 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@778653458.name".
          2419 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@778653458.organization".
          2419 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.Organization" under mode "[META]".
          2419 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.Organization".
          2420 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.Organization".
          2420 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation.
          2424 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.Organization" to "null".
          2424 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@778653458.version".
          2424 db TRACE [main] openjpa.MetaData - Resolving metadata for "openjpatest.Organization@1546386943".
          2424 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Organization@1546386943.addressBook".
          2424 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.AddressBook" under mode "[META]".
          2424 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.AddressBook".
          2425 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.AddressBook".
          2427 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.EmailAddress".
          2427 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation.
          2427 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.AddressBook" to "null".
          2427 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Organization@1546386943.hostNames".
          2427 db TRACE [main] openjpa.MetaData - Resolving embedded metadata for "java.lang.Object@1691493474".
          2428 db TRACE [main] openjpa.MetaData - Preparing mapping for "openjpatest.Group".
          2432 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@778653458.id".
          2437 db TRACE [main] openjpa.MetaData - "id" has mapping strategy "org.apache.openjpa.jdbc.meta.strats.StringFieldStrategy".
          2439 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@778653458.name".
          2439 db TRACE [main] openjpa.MetaData - "name" has mapping strategy "org.apache.openjpa.jdbc.meta.strats.StringFieldStrategy".
          2440 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@778653458.version".
          2440 db TRACE [main] openjpa.MetaData - "version" has mapping strategy "none".
          2444 db TRACE [main] openjpa.MetaData - "openjpatest.Group<discriminator>" has mapping strategy "value-map".
          2446 db TRACE [main] openjpa.MetaData - "openjpatest.Group<version>" has mapping strategy "version-number".
          2446 db TRACE [main] openjpa.MetaData - Resolving mapping for "openjpatest.Group@778653458".
          2447 db TRACE [main] openjpa.MetaData - "openjpatest.Group" has mapping strategy "full".
          2447 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@778653458.organization".
          Exception in thread "main" <openjpa-2.1.0-SNAPSHOT-r422266:999559M fatal user error> org.apache.openjpa.persistence.ArgumentException: Errors encountered while resolving metadata. See nested exceptions for details.
          at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:655)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:398)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:283)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:254)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:222)
          at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:134)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:315)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:239)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:213)
          at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
          at openjpatest.Main.main(Main.java:17)
          Caused by: <openjpa-2.1.0-SNAPSHOT-r422266:999559M nonfatal user error> org.apache.openjpa.persistence.ArgumentException: No metadata was found for type "class java.lang.Object". The class is not enhanced.
          at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:390)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371)
          at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1822)
          at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1787)
          at org.apache.openjpa.meta.ValueMetaDataImpl.resolve(ValueMetaDataImpl.java:435)
          at org.apache.openjpa.jdbc.meta.ValueMappingImpl.resolve(ValueMappingImpl.java:494)
          at org.apache.openjpa.meta.FieldMetaData.resolve(FieldMetaData.java:1732)
          at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:458)
          at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1853)
          at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1787)
          at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:809)
          at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:706)
          at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:630)
          ... 14 more
          NestedThrowables:
          <openjpa-2.1.0-SNAPSHOT-r422266:999559M fatal user error> org.apache.openjpa.persistence.ArgumentException: Unable to resolve type "openjpatest.AddressBook" due to previous errors resolving related type "openjpatest.Organization".
          at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:822)
          at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:706)
          at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:630)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:398)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:283)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:254)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:222)
          at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:134)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:315)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:239)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:213)
          at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
          at openjpatest.Main.main(Main.java:17)
          java.lang.NullPointerException
          at org.apache.openjpa.jdbc.meta.MappingInfo.mergeJoinColumn(MappingInfo.java:1513)
          at org.apache.openjpa.jdbc.meta.MappingInfo.createJoins(MappingInfo.java:1322)
          at org.apache.openjpa.jdbc.meta.MappingInfo.createForeignKey(MappingInfo.java:1084)
          at org.apache.openjpa.jdbc.meta.ValueMappingInfo.getTypeJoin(ValueMappingInfo.java:115)
          at org.apache.openjpa.jdbc.meta.ValueMappingInfo.getTypeJoin(ValueMappingInfo.java:92)
          at org.apache.openjpa.jdbc.meta.strats.RelationFieldStrategy.map(RelationFieldStrategy.java:167)
          at org.apache.openjpa.jdbc.meta.FieldMapping.setStrategy(FieldMapping.java:146)
          at org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy(RuntimeStrategyInstaller.java:82)
          at org.apache.openjpa.jdbc.meta.FieldMapping.resolveMapping(FieldMapping.java:496)
          at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:461)
          at org.apache.openjpa.jdbc.meta.ClassMapping.resolveMapping(ClassMapping.java:854)
          at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1792)
          at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:809)
          at org.apache.openjpa.meta.MetaDataRepository.resolveMapping(MetaDataRepository.java:764)
          at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:644)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:398)
          at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:283)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:254)
          at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:222)
          at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:134)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:315)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:239)
          at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:213)
          at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154)
          at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60)
          at openjpatest.Main.main(Main.java:17)

          Show
          Donald Woods added a comment - Updated output using trunk and OPENJPA-1811 (dynamic enhancer working on Mac) - drwoods:target/$ java -cp ./openjpa-all-2.1.0-SNAPSHOT.jar:./h2-1.2.143.jar:./openjpatest-trunk.jar openjpatest.Main -Dopenjpa.Log=DefaultLevel=TRACE 4 db TRACE [main] openjpa.Runtime - Setting the following properties from "jar: file:/private/tmp/openjpatest/target/openjpatest-trunk.jar!/META-INF/persistence.xml " into configuration: {openjpa.BrokerFactory=jdbc, openjpa.ConnectionDriverName=org.h2.Driver, openjpa.RuntimeUnenhancedClasses=supported, javax.persistence.provider=org.apache.openjpa.persistence.PersistenceProviderImpl, openjpa.MetaDataFactory=jpa(Types=openjpatest.AddressBook;openjpatest.Group;openjpatest.Organization), openjpa.Log=DefaultLevel=TRACE, PersistenceVersion=2.0, openjpa.ConnectionURL=jdbc:h2:mem:test, openjpa.Id=db} 64 db TRACE [main] openjpa.Runtime - org.apache.openjpa.enhance.InstrumentationFactory.getInstrumentation() _inst:null _dynamicallyInstall:true 66 db TRACE [main] openjpa.Runtime - org.apache.openjpa.enhance.InstrumentationFactory.findToolsJar() – couldn't find default /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/lib/tools.jar 66 db TRACE [main] openjpa.Runtime - org.apache.openjpa.enhance.InstrumentationFactory.findToolsJar() – found /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Classes/classes.jar 1 db TRACE [main] openjpa.Runtime - Setting the following properties from "jar: file:/private/tmp/openjpatest/target/openjpatest-trunk.jar!/META-INF/persistence.xml " into configuration: {openjpa.ConnectionDriverName=org.h2.Driver, openjpa.RuntimeUnenhancedClasses=supported, javax.persistence.provider=org.apache.openjpa.persistence.PersistenceProviderImpl, openjpa.MetaDataFactory=jpa(Types=openjpatest.AddressBook;openjpatest.Group;openjpatest.Organization), openjpa.Log=DefaultLevel=TRACE, PersistenceVersion=2.0, openjpa.ConnectionURL=jdbc:h2:mem:test, openjpa.Id=db} 69 db TRACE [main] openjpa.Runtime - No cache marshaller found for id org.apache.openjpa.conf.MetaDataCacheMaintenance. 130 db TRACE [main] openjpa.Runtime - No cache marshaller found for id org.apache.openjpa.conf.MetaDataCacheMaintenance. 154 db TRACE [main] openjpa.MetaData - Scanning resource "META-INF/orm.xml" for persistent types. 156 db TRACE [main] openjpa.MetaData - The persistent unit root url is "null" 156 db TRACE [main] openjpa.MetaData - parsePersistentTypeNames() found [openjpatest.Group, openjpatest.Organization, openjpatest.AddressBook] . 156 db TRACE [main] openjpa.MetaData - Found 3 classes with metadata in 25 milliseconds. 160 db TRACE [main] openjpa.MetaData - Clearing metadata repository "org.apache.openjpa.meta.MetaDataRepository@4e4ee70b". 716 db INFO [main] openjpa.Runtime - OpenJPA dynamically loaded the class enhancer. Any classes that were not enhanced at build time will be enhanced when they are loaded by the JVM. 718 db TRACE [main] openjpa.Runtime - Trying to load javax.validation APIs based on the ValidationMode=AUTO 846 db INFO [main] openjpa.Runtime - OpenJPA dynamically loaded a validation provider. 874 db TRACE [main] openjpa.Runtime - org.apache.openjpa.persistence.PersistenceProviderImpl@7114460 creating org.apache.openjpa.persistence.EntityManagerFactoryImpl@7e9ffe3f for PU db. 877 db INFO [main] openjpa.Runtime - Starting OpenJPA 2.1.0-SNAPSHOT 879 db TRACE [main] openjpa.Runtime - Properties: javax.persistence.lock.timeout: 0 javax.persistence.query.timeout: 0 javax.persistence.sharedCache.mode: UNSPECIFIED javax.persistence.validation.group.pre-persist: javax.validation.groups.Default javax.persistence.validation.group.pre-update: javax.validation.groups.Default openjpa.AutoClear: 0 openjpa.AutoDetach: [Ljava.lang.String;@30ff8c74 openjpa.BrokerFactory: jdbc openjpa.BrokerImpl: default openjpa.CacheDistributionPolicy: default openjpa.Callbacks: default openjpa.ClassResolver: default openjpa.Compatibility: default openjpa.ConnectionDriverName: org.h2.Driver openjpa.ConnectionFactoryMode: false openjpa.ConnectionRetainMode: 0 openjpa.ConnectionURL: jdbc:h2:mem:test openjpa.DataCache: false openjpa.DataCacheManager: default openjpa.DataCacheTimeout: -1 openjpa.DetachState: loaded openjpa.DynamicDataStructs: false openjpa.DynamicEnhancementAgent: true openjpa.EntityManagerFactory: default openjpa.FetchBatchSize: -1 openjpa.FetchGroups: [Ljava.lang.String;@595e2ccd openjpa.FlushBeforeQueries: 0 openjpa.Id: db openjpa.IgnoreChanges: false openjpa.InitializeEagerly: false openjpa.InstrumentationManager: default openjpa.InverseManager: false openjpa.LifecycleEventManager: validating openjpa.LockManager: mixed openjpa.Log: true(DefaultLevel=TRACE) openjpa.ManagedRuntime: auto openjpa.MaxFetchDepth: -1 openjpa.MetaDataFactory: jpa(Types=openjpatest.AddressBook;openjpatest.Group;openjpatest.Organization) openjpa.MetaDataRepository: default openjpa.Multithreaded: false openjpa.NontransactionalRead: true openjpa.NontransactionalWrite: true openjpa.Optimistic: true openjpa.OrphanedKeyAction: log openjpa.ProxyManager: default openjpa.QueryCache: false openjpa.QueryCompilationCache: true openjpa.ReadLockLevel: 10 openjpa.RefreshFromDataCache: false openjpa.RestoreState: 1 openjpa.RetainState: true openjpa.RetryClassRegistration: false openjpa.RuntimeUnenhancedClasses: 0 openjpa.SavepointManager: in-mem openjpa.Sequence: table openjpa.TransactionMode: false openjpa.WriteLockLevel: 20 openjpa.jdbc.DriverDataSource: auto openjpa.jdbc.EagerFetchMode: 2 openjpa.jdbc.FetchDirection: 1000 openjpa.jdbc.FinderCache: true openjpa.jdbc.IdentifierUtil: default openjpa.jdbc.LRSSize: 2 openjpa.jdbc.MappingDefaults: jpa openjpa.jdbc.QuerySQLCache: true openjpa.jdbc.ResultSetType: 1003 openjpa.jdbc.SQLFactory: default openjpa.jdbc.SchemaFactory: dynamic openjpa.jdbc.Schemas: [Ljava.lang.String;@30ff8c74 openjpa.jdbc.SubclassFetchMode: 1 openjpa.jdbc.SynchronizeMappings: null openjpa.jdbc.TransactionIsolation: -1 openjpa.jdbc.UpdateManager: default 881 db TRACE [main] openjpa.Runtime - No cache marshaller found for id org.apache.openjpa.conf.MetaDataCacheMaintenance. 973 db TRACE [main] openjpa.MetaData - Using metadata factory "org.apache.openjpa.persistence.jdbc.PersistenceMappingFactory@565bb966". 1024 db INFO [main] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.H2Dictionary". 1170 db TRACE [main] openjpa.jdbc.JDBC - createConnectionFactory: DataSource=org.apache.openjpa.jdbc.schema.AutoDriverDataSource_@5c6ed322 1260 db TRACE [main] openjpa.jdbc.JDBC - DataSource connection setAutoCommit to "true" CCCCC - using DBCPDriverDataSource 1817 db TRACE [main] openjpa.jdbc.JDBC - catalogSeparator: . catalogTerm: catalog databaseProductName: H2 databaseProductVersion: 1.2.143 (2010-09-18) driverName: H2 JDBC Driver driverVersion: 1.2.143 (2010-09-18) extraNameCharacters: identifierQuoteString: " numericFunctions: ABS,ACOS,ASIN,ATAN,COS,COT,SIN,TAN,ATAN2,BITAND,BITOR,BITXOR,MOD,CEILING,DEGREES,EXP,FLOOR,LOG,LOG10,RADIANS,SQRT,PI,POWER,RAND,RANDOM_UUID,ROUND,ROUNDMAGIC,SECURE_RAND,SIGN,ENCRYPT,DECRYPT,HASH,TRUNCATE,COMPRESS,EXPAND,ZERO procedureTerm: procedure schemaTerm: schema searchStringEscape: \ sqlKeywords: LIMIT,MINUS,ROWNUM,SYSDATE,SYSTIME,SYSTIMESTAMP,TODAY stringFunctions: ASCII,BIT_LENGTH,LENGTH,OCTET_LENGTH,CHAR,CONCAT,DIFFERENCE,HEXTORAW,RAWTOHEX,INSTR,INSERT,LOWER,UPPER,LEFT,RIGHT,LOCATE,POSITION,LPAD,RPAD,LTRIM,RTRIM,TRIM,REGEXP_REPLACE,REPEAT,REPLACE,SOUNDEX,SPACE,STRINGDECODE,STRINGENCODE,STRINGTOUTF8,SUBSTRING,UTF8TOSTRING,XMLATTR,XMLNODE,XMLCOMMENT,XMLCDATA,XMLSTARTDOC,XMLTEXT systemFunctions: ARRAY_GET,ARRAY_LENGTH,AUTOCOMMIT,CANCEL_SESSION,CASEWHEN,CAST,COALESCE,CONVERT,CURRVAL,CSVREAD,CSVWRITE,DATABASE,DATABASE_PATH,FILE_READ,GREATEST,IDENTITY,IFNULL,LEAST,LOCK_MODE,LOCK_TIMEOUT,LINK_SCHEMA,MEMORY_FREE,MEMORY_USED,NEXTVAL,NULLIF,READONLY,ROWNUM,SCHEMA,SCOPE_IDENTITY,SESSION_ID,SET,TABLE,TRANSACTION_ID,USER timeDateFunctions: CURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMP,DATEADD,DATEDIFF,DAYNAME,DAY_OF_MONTH,DAY_OF_WEEK,DAY_OF_YEAR,EXTRACT,FORMATDATETIME,HOUR,MINUTE,MONTH,MONTHNAME,PARSEDATETIME,QUARTER,SECOND,WEEK,YEAR url: jdbc:h2:mem:test userName: defaultTransactionIsolation: 2 driverMajorVersion: 1 driverMinorVersion: 2 maxBinaryLiteralLength: 0 maxCatalogNameLength: 0 maxCharLiteralLength: 0 maxColumnNameLength: 0 maxColumnsInGroupBy: 0 maxColumnsInIndex: 0 maxColumnsInOrderBy: 0 maxColumnsInSelect: 0 maxColumnsInTable: 0 maxConnections: 0 maxCursorNameLength: 0 maxIndexLength: 0 maxProcedureNameLength: 0 maxRowSize: 0 maxSchemaNameLength: 0 maxStatementLength: 0 maxStatements: 0 maxTableNameLength: 0 maxTablesInSelect: 0 maxUserNameLength: 0 isCatalogAtStart: true isReadOnly: false nullPlusNonNullIsNull: true nullsAreSortedAtEnd: false nullsAreSortedAtStart: false nullsAreSortedHigh: false nullsAreSortedLow: true storesLowerCaseIdentifiers: false storesLowerCaseQuotedIdentifiers: false storesMixedCaseIdentifiers: false storesMixedCaseQuotedIdentifiers: true storesUpperCaseIdentifiers: true storesUpperCaseQuotedIdentifiers: false supportsAlterTableWithAddColumn: true supportsAlterTableWithDropColumn: true supportsANSI92EntryLevelSQL: true supportsANSI92FullSQL: false supportsANSI92IntermediateSQL: false supportsCatalogsInDataManipulation: true supportsCatalogsInIndexDefinitions: true supportsCatalogsInPrivilegeDefinitions: true supportsCatalogsInProcedureCalls: false supportsCatalogsInTableDefinitions: true supportsColumnAliasing: true supportsConvert: true supportsCoreSQLGrammar: true supportsCorrelatedSubqueries: true supportsDataDefinitionAndDataManipulationTransactions: false supportsDataManipulationTransactionsOnly: true supportsDifferentTableCorrelationNames: false supportsExpressionsInOrderBy: true supportsExtendedSQLGrammar: false supportsFullOuterJoins: false supportsGroupBy: true supportsGroupByBeyondSelect: true supportsGroupByUnrelated: true supportsIntegrityEnhancementFacility: true supportsLikeEscapeClause: true supportsLimitedOuterJoins: true supportsMinimumSQLGrammar: true supportsMixedCaseIdentifiers: false supportsMixedCaseQuotedIdentifiers: true supportsMultipleResultSets: false supportsMultipleTransactions: true supportsNonNullableColumns: true supportsOpenCursorsAcrossCommit: false supportsOpenCursorsAcrossRollback: false supportsOpenStatementsAcrossCommit: true supportsOpenStatementsAcrossRollback: true supportsOrderByUnrelated: true supportsOuterJoins: true supportsPositionedDelete: true supportsPositionedUpdate: true supportsSchemasInDataManipulation: true supportsSchemasInIndexDefinitions: true supportsSchemasInPrivilegeDefinitions: true supportsSchemasInProcedureCalls: true supportsSchemasInTableDefinitions: true supportsSelectForUpdate: true supportsStoredProcedures: false supportsSubqueriesInComparisons: true supportsSubqueriesInExists: true supportsSubqueriesInIns: true supportsSubqueriesInQuantifieds: true supportsTableCorrelationNames: true supportsTransactions: true supportsUnion: true supportsUnionAll: true usesLocalFilePerTable: false usesLocalFiles: true allProceduresAreCallable: true allTablesAreSelectable: true dataDefinitionCausesTransactionCommit: true dataDefinitionIgnoredInTransactions: false doesMaxRowSizeIncludeBlobs: false supportsBatchUpdates: true 1821 db TRACE [main] openjpa.jdbc.JDBC - Initial connection autoCommit: true, holdability: 1, TransactionIsolation: 2 1833 db TRACE [main] openjpa.jdbc.JDBC - <t 1205573714, conn 569201753> [3 ms] close 1928 db TRACE [main] openjpa.Runtime - Found datasource1: datasource 1550766882 from configuration. StoreContext: org.apache.openjpa.kernel.FinalizingBrokerImpl@345c98f3 1937 db TRACE [main] openjpa.MetaData - Scanning resource "META-INF/orm.xml" for persistent types. 1937 db TRACE [main] openjpa.MetaData - The persistent unit root url is "null" 1938 db TRACE [main] openjpa.MetaData - parsePersistentTypeNames() found [openjpatest.Group, openjpatest.Organization, openjpatest.AddressBook] . 1938 db TRACE [main] openjpa.MetaData - Found 3 classes with metadata in 1 milliseconds. 1385 db TRACE [main] openjpa.Enhance - "openjpatest/Group" requires runtime enhancement: true 1416 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.Group" under mode " [META] [QUERY] ". 1433 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.Group". 1433 db TRACE [main] openjpa.MetaData - Parsing package "openjpatest.Group". 1469 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.Group". 1469 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation. 1504 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.Group" to "null". 1504 db TRACE [main] openjpa.MetaData - Resolving metadata for "openjpatest.Group@1606871064". 1504 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@1606871064.id". 1511 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@1606871064.name". 1511 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@1606871064.organization". 1511 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.Organization" under mode " [META] [QUERY] ". 1511 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.Organization". 1513 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.Organization". 1513 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation. 1521 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.Organization" to "null". 1521 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@1606871064.version". 1522 db TRACE [main] openjpa.MetaData - Resolving metadata for "openjpatest.Organization@570110481". 1522 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Organization@570110481.addressBook". 1522 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.AddressBook" under mode " [META] [QUERY] ". 1522 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.AddressBook". 1523 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.AddressBook". 1523 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation. 1527 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.EmailAddress". 1527 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation. 1527 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.AddressBook" to "null". 1527 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Organization@570110481.hostNames". 1527 db TRACE [main] openjpa.MetaData - Resolving embedded metadata for "java.lang.Object@1671818348". 1528 db TRACE [main] openjpa.MetaData - Preparing mapping for "openjpatest.Group". 1528 db TRACE [main] openjpa.MetaData - Resolving mapping for "openjpatest.Group@1606871064". 1528 db WARN [main] openjpa.Enhance - An exception was thrown while attempting to perform class file transformation on "openjpatest/Group": <openjpa-2.1.0-SNAPSHOT-r422266:999559M fatal user error> org.apache.openjpa.util.MetaDataException: Errors encountered while resolving metadata. See nested exceptions for details. at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:655) at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:398) at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:283) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:254) at org.apache.openjpa.enhance.PCClassFileTransformer.transform0(PCClassFileTransformer.java:143) at org.apache.openjpa.enhance.PCClassFileTransformer.transform(PCClassFileTransformer.java:124) at sun.instrument.TransformerManager.transform(TransformerManager.java:169) at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:365) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) at java.lang.ClassLoader.defineClass(ClassLoader.java:616) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) at org.apache.openjpa.meta.MetaDataRepository.classForName(MetaDataRepository.java:1538) at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypesInternal(MetaDataRepository.java:1514) at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes(MetaDataRepository.java:1492) at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:283) at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:239) at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:213) at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60) at openjpatest.Main.main(Main.java:17) Caused by: <openjpa-2.1.0-SNAPSHOT-r422266:999559M nonfatal user error> org.apache.openjpa.util.MetaDataException: No metadata was found for type "class java.lang.Object". The class is not enhanced. at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:390) at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371) at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1822) at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1787) at org.apache.openjpa.meta.ValueMetaDataImpl.resolve(ValueMetaDataImpl.java:435) at org.apache.openjpa.meta.FieldMetaData.resolve(FieldMetaData.java:1732) at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1853) at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1787) at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:809) at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:706) at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:630) ... 33 more NestedThrowables: <openjpa-2.1.0-SNAPSHOT-r422266:999559M fatal user error> org.apache.openjpa.util.MetaDataException: Unable to resolve type "openjpatest.AddressBook" due to previous errors resolving related type "openjpatest.Organization". at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:822) at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:706) at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:630) at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:398) at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:283) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:254) at org.apache.openjpa.enhance.PCClassFileTransformer.transform0(PCClassFileTransformer.java:143) at org.apache.openjpa.enhance.PCClassFileTransformer.transform(PCClassFileTransformer.java:124) at sun.instrument.TransformerManager.transform(TransformerManager.java:169) at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:365) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) at java.lang.ClassLoader.defineClass(ClassLoader.java:616) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) at org.apache.openjpa.meta.MetaDataRepository.classForName(MetaDataRepository.java:1538) at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypesInternal(MetaDataRepository.java:1514) at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes(MetaDataRepository.java:1492) at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:283) at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:239) at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:213) at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60) at openjpatest.Main.main(Main.java:17) 1535 db TRACE [main] openjpa.Enhance - "openjpatest/Organization" requires runtime enhancement: true 1537 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.Organization" under mode " [META] [QUERY] ". 1537 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.Organization". 1538 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.Organization". 1538 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation. 1540 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.Organization" to "null". 1540 db TRACE [main] openjpa.MetaData - Resolving metadata for "openjpatest.Organization@1056794277". 1540 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Organization@1056794277.addressBook". 1541 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.AddressBook" under mode " [META] [QUERY] ". 1541 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.AddressBook". 1541 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.AddressBook". 1541 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation. 1542 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.EmailAddress". 1542 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation. 1542 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.AddressBook" to "null". 1543 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Organization@1056794277.hostNames". 1543 db TRACE [main] openjpa.MetaData - Resolving embedded metadata for "java.lang.Object@1851652849". 1543 db WARN [main] openjpa.Enhance - An exception was thrown while attempting to perform class file transformation on "openjpatest/Organization": <openjpa-2.1.0-SNAPSHOT-r422266:999559M fatal user error> org.apache.openjpa.util.MetaDataException: Errors encountered while resolving metadata. See nested exceptions for details. at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:655) at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:398) at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:283) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:254) at org.apache.openjpa.enhance.PCClassFileTransformer.transform0(PCClassFileTransformer.java:143) at org.apache.openjpa.enhance.PCClassFileTransformer.transform(PCClassFileTransformer.java:124) at sun.instrument.TransformerManager.transform(TransformerManager.java:169) at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:365) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) at java.lang.ClassLoader.defineClass(ClassLoader.java:616) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) at org.apache.openjpa.meta.MetaDataRepository.classForName(MetaDataRepository.java:1538) at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypesInternal(MetaDataRepository.java:1514) at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes(MetaDataRepository.java:1492) at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:283) at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:239) at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:213) at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60) at openjpatest.Main.main(Main.java:17) Caused by: <openjpa-2.1.0-SNAPSHOT-r422266:999559M nonfatal user error> org.apache.openjpa.util.MetaDataException: No metadata was found for type "class java.lang.Object". The class is not enhanced. at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:390) at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371) at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1822) at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1787) at org.apache.openjpa.meta.ValueMetaDataImpl.resolve(ValueMetaDataImpl.java:435) at org.apache.openjpa.meta.FieldMetaData.resolve(FieldMetaData.java:1732) at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1853) at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1787) at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:809) at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:706) at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:630) ... 33 more NestedThrowables: <openjpa-2.1.0-SNAPSHOT-r422266:999559M fatal user error> org.apache.openjpa.util.MetaDataException: Unable to resolve type "openjpatest.AddressBook" due to previous errors resolving related type "openjpatest.Organization". at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:822) at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:706) at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:630) at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:398) at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:283) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:254) at org.apache.openjpa.enhance.PCClassFileTransformer.transform0(PCClassFileTransformer.java:143) at org.apache.openjpa.enhance.PCClassFileTransformer.transform(PCClassFileTransformer.java:124) at sun.instrument.TransformerManager.transform(TransformerManager.java:169) at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:365) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632) at java.lang.ClassLoader.defineClass(ClassLoader.java:616) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) at org.apache.openjpa.meta.MetaDataRepository.classForName(MetaDataRepository.java:1538) at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypesInternal(MetaDataRepository.java:1514) at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes(MetaDataRepository.java:1492) at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:283) at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:239) at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:213) at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60) at openjpatest.Main.main(Main.java:17) 1547 db TRACE [main] openjpa.Enhance - "openjpatest/AddressBook" requires runtime enhancement: true 1549 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.AddressBook" under mode " [META] [QUERY] ". 1549 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.AddressBook". 1549 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.AddressBook". 1550 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation. 1551 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.EmailAddress". 1551 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation. 1551 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.AddressBook" to "null". 1551 db TRACE [main] openjpa.MetaData - Resolving metadata for "openjpatest.AddressBook@1543904466". 1551 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.AddressBook@1543904466.id". 1551 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.AddressBook@1543904466.primaryEmailAddress". 1551 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.EmailAddress" under mode " [META] [QUERY] ". 1551 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.EmailAddress". 1551 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.EmailAddress". 1551 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation. 1552 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.EmailAddress" to "null". 1552 db TRACE [main] openjpa.MetaData - Resolving embedded metadata for "openjpatest.EmailAddress@357453361". 1552 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.EmailAddress" to "null". 1552 db TRACE [main] openjpa.MetaData - Resolving metadata for "openjpatest.EmailAddress@1206877668". 1552 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.EmailAddress@1206877668.email". 1552 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.EmailAddress@357453361.email". 1552 db TRACE [main] openjpa.MetaData - Preparing mapping for "openjpatest.AddressBook". 1552 db TRACE [main] openjpa.MetaData - Preparing mapping for "openjpatest.EmailAddress". 1553 db TRACE [main] openjpa.MetaData - Resolving mapping for "openjpatest.AddressBook@1543904466". 1553 db TRACE [main] openjpa.MetaData - Resolving mapping for "openjpatest.EmailAddress@1206877668". 1553 db TRACE [main] openjpa.Enhance - Enhancing type "class openjpatest.AddressBook" loaded by org.apache.openjpa.lib.util.TemporaryClassLoader@38ffd135. 2358 db TRACE [main] openjpa.Enhance - org.apache.openjpa.enhance.InstrumentationFactory.getInstrumentation() _inst:sun.instrument.InstrumentationImpl@31d8d237 _dynamicallyInstall:true 2359 db INFO [main] openjpa.Enhance - Creating subclass and redefining methods for " [class openjpatest.Group, class openjpatest.Organization] ". This means that your application will be less efficient than it would if you ran the OpenJPA enhancer. 2364 db TRACE [main] openjpa.Runtime - No cache marshaller found for id org.apache.openjpa.conf.MetaDataCacheMaintenance. 2364 db TRACE [main] openjpa.MetaData - Using metadata factory "org.apache.openjpa.persistence.jdbc.PersistenceMappingFactory@109b2a51". 2364 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.Group" under mode " [META] ". 2364 db TRACE [main] openjpa.MetaData - Scanning resource "META-INF/orm.xml" for persistent types. 2364 db TRACE [main] openjpa.MetaData - The persistent unit root url is "null" 2364 db TRACE [main] openjpa.MetaData - parsePersistentTypeNames() found [openjpatest.Group, openjpatest.Organization, openjpatest.AddressBook] . 2365 db TRACE [main] openjpa.MetaData - Found 3 classes with metadata in 0 milliseconds. 2394 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.Group". 2394 db TRACE [main] openjpa.MetaData - Parsing package "openjpatest.Group". 2405 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.Group". 2405 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation. 2418 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.Group" to "null". 2419 db TRACE [main] openjpa.MetaData - Resolving metadata for "openjpatest.Group@778653458". 2419 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@778653458.id". 2419 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@778653458.name". 2419 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@778653458.organization". 2419 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.Organization" under mode " [META] ". 2419 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.Organization". 2420 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.Organization". 2420 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation. 2424 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.Organization" to "null". 2424 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@778653458.version". 2424 db TRACE [main] openjpa.MetaData - Resolving metadata for "openjpatest.Organization@1546386943". 2424 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Organization@1546386943.addressBook". 2424 db TRACE [main] openjpa.MetaData - Loading metadata for "class openjpatest.AddressBook" under mode " [META] ". 2424 db TRACE [main] openjpa.MetaData - Parsing class "openjpatest.AddressBook". 2425 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.AddressBook". 2427 db TRACE [main] openjpa.MetaData - Generating default metadata for type "openjpatest.EmailAddress". 2427 db TRACE [main] openjpa.MetaData - Using reflection for metadata generation. 2427 db TRACE [main] openjpa.MetaData - Set persistence-capable superclass of "openjpatest.AddressBook" to "null". 2427 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Organization@1546386943.hostNames". 2427 db TRACE [main] openjpa.MetaData - Resolving embedded metadata for "java.lang.Object@1691493474". 2428 db TRACE [main] openjpa.MetaData - Preparing mapping for "openjpatest.Group". 2432 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@778653458.id". 2437 db TRACE [main] openjpa.MetaData - "id" has mapping strategy "org.apache.openjpa.jdbc.meta.strats.StringFieldStrategy". 2439 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@778653458.name". 2439 db TRACE [main] openjpa.MetaData - "name" has mapping strategy "org.apache.openjpa.jdbc.meta.strats.StringFieldStrategy". 2440 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@778653458.version". 2440 db TRACE [main] openjpa.MetaData - "version" has mapping strategy "none". 2444 db TRACE [main] openjpa.MetaData - "openjpatest.Group<discriminator>" has mapping strategy "value-map". 2446 db TRACE [main] openjpa.MetaData - "openjpatest.Group<version>" has mapping strategy "version-number". 2446 db TRACE [main] openjpa.MetaData - Resolving mapping for "openjpatest.Group@778653458". 2447 db TRACE [main] openjpa.MetaData - "openjpatest.Group" has mapping strategy "full". 2447 db TRACE [main] openjpa.MetaData - Resolving field "openjpatest.Group@778653458.organization". Exception in thread "main" <openjpa-2.1.0-SNAPSHOT-r422266:999559M fatal user error> org.apache.openjpa.persistence.ArgumentException: Errors encountered while resolving metadata. See nested exceptions for details. at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:655) at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:398) at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:283) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:254) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:222) at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:134) at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:315) at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:239) at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:213) at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60) at openjpatest.Main.main(Main.java:17) Caused by: <openjpa-2.1.0-SNAPSHOT-r422266:999559M nonfatal user error> org.apache.openjpa.persistence.ArgumentException: No metadata was found for type "class java.lang.Object". The class is not enhanced. at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:390) at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371) at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1822) at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1787) at org.apache.openjpa.meta.ValueMetaDataImpl.resolve(ValueMetaDataImpl.java:435) at org.apache.openjpa.jdbc.meta.ValueMappingImpl.resolve(ValueMappingImpl.java:494) at org.apache.openjpa.meta.FieldMetaData.resolve(FieldMetaData.java:1732) at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:458) at org.apache.openjpa.meta.ClassMetaData.resolveMeta(ClassMetaData.java:1853) at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1787) at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:809) at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:706) at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:630) ... 14 more NestedThrowables: <openjpa-2.1.0-SNAPSHOT-r422266:999559M fatal user error> org.apache.openjpa.persistence.ArgumentException: Unable to resolve type "openjpatest.AddressBook" due to previous errors resolving related type "openjpatest.Organization". at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:822) at org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:706) at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:630) at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:398) at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:283) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:254) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:222) at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:134) at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:315) at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:239) at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:213) at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60) at openjpatest.Main.main(Main.java:17) java.lang.NullPointerException at org.apache.openjpa.jdbc.meta.MappingInfo.mergeJoinColumn(MappingInfo.java:1513) at org.apache.openjpa.jdbc.meta.MappingInfo.createJoins(MappingInfo.java:1322) at org.apache.openjpa.jdbc.meta.MappingInfo.createForeignKey(MappingInfo.java:1084) at org.apache.openjpa.jdbc.meta.ValueMappingInfo.getTypeJoin(ValueMappingInfo.java:115) at org.apache.openjpa.jdbc.meta.ValueMappingInfo.getTypeJoin(ValueMappingInfo.java:92) at org.apache.openjpa.jdbc.meta.strats.RelationFieldStrategy.map(RelationFieldStrategy.java:167) at org.apache.openjpa.jdbc.meta.FieldMapping.setStrategy(FieldMapping.java:146) at org.apache.openjpa.jdbc.meta.RuntimeStrategyInstaller.installStrategy(RuntimeStrategyInstaller.java:82) at org.apache.openjpa.jdbc.meta.FieldMapping.resolveMapping(FieldMapping.java:496) at org.apache.openjpa.jdbc.meta.FieldMapping.resolve(FieldMapping.java:461) at org.apache.openjpa.jdbc.meta.ClassMapping.resolveMapping(ClassMapping.java:854) at org.apache.openjpa.meta.ClassMetaData.resolve(ClassMetaData.java:1792) at org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:809) at org.apache.openjpa.meta.MetaDataRepository.resolveMapping(MetaDataRepository.java:764) at org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:644) at org.apache.openjpa.meta.MetaDataRepository.getMetaDataInternal(MetaDataRepository.java:398) at org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:371) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:283) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:254) at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:222) at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:134) at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:315) at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:239) at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:213) at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:156) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:227) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:154) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:60) at openjpatest.Main.main(Main.java:17)
          Hide
          Michael Dick added a comment -

          If there's more work to be done for this issue please re-open, or open a sub task for the remaining work.

          Show
          Michael Dick added a comment - If there's more work to be done for this issue please re-open, or open a sub task for the remaining work.

            People

            • Assignee:
              Donald Woods
              Reporter:
              Willis Blackburn
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development