So just answering myself (openJPA list brought the solution) It seems that if I use IBM JVM (J9) in both windows and linux, it works.
If I use oracle's, then I get the error. My persistence.xml does not have <property name="openjpa.RuntimeUnenhancedClasses" value="unsupported"/> And I get the warning WARNING: Creating subclass for "[...]". 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. And this procedure is not recommended as stated at http://openjpa.apache.org/entity-enhancement.html "The use of OpenJPA's subclassing support is not recommended, and is disabled by default in OpenJPA 2.0 and beyond." TIA Leo [] Leo On Tue, Sep 17, 2013 at 1:14 PM, Leonardo K. Shikida <shik...@gmail.com> wrote: > > Hi > > I have an tomee 1.5.2 + that runs perfectly on linux, but when I try to run from windows, it gives me the following error message (see stacktrace) > > My doubts are > > - what does it mean :-) > - why only in windows > - is there any way to deal with this? > > My feeling it that it's somehow related to the OpenJPA enhancement process, but I really don't have a clue here. > > TIA > > Leo > > Exception in thread "main" javax.ejb.EJBException: The bean encountered a non-application exception; nested exception is: > <openjpa-2.2.0-r422266:1244990 fatal general error> org.apache.openjpa.persistence.PersistenceException: null > at org.apache.openejb.core.ivm.BaseEjbProxyHandler.convertException(BaseEjbProxyHandler.java:363) > at org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:283) > at (...) at > (...) > Caused by: <openjpa-2.2.0-r422266:1244990 fatal general error> org.apache.openjpa.persistence.PersistenceException: null > at org.apache.openjpa.enhance.ClassRedefiner.redefineClasses(ClassRedefiner.java:96) > at org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:176) > at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:314) > at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:238) > at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:212) > 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:60) > at org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory.createEntityManager(ReloadableEntityManagerFactory.java:160) > at org.apache.openejb.persistence.JtaEntityManagerRegistry.getEntityManager(JtaEntityManagerRegistry.java:115) > at org.apache.openejb.persistence.JtaEntityManager.getEntityManager(JtaEntityManager.java:80) > (...) > Caused by: java.lang.VerifyError > at sun.instrument.InstrumentationImpl.retransformClasses0(Native Method) > at sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:144) > ... 52 more > > [] > > Leo