This has been commented on before.
You need to rerun the Enhancer on any Entity classes that are
re-published and stop and start WebSphere.
It is best to turn off automatic publishing in WebSphere/RAD.
You can still run it in debug mode under RAD and change anything other
than Entities without needing to restart. I do this all the time.
Hi ..
Not sure if this is a bug or just the way websphere reacts to openjpa.
I have a small test program using OpenJPA against an Oracle database. I am running this program in the Websphere 6.1 test environment included with Rational Developer 7. This is all working just fine. But when I make changes to some ressource in the application, the chagnes are automatically published to the test environment and the app is restarted. After this I get the Exception below, whenever I try to access an EntityManager.
If I restart the entire server, the app is running fine again. So I guess this is related to restarting the application.
Caused by: java.lang.VerifyError: class loading constraint violated (class:
org/apache/openjpa/kernel/BrokerImpl method:
newQueryImpl(Ljava/lang/String;Lorg/apache/openjpa/kernel/StoreQuery;)Lorg/apache/openjpa/kernel/QueryImpl;)
at pc: 0
at java.lang.J9VMInternals.verifyImpl(Native Method)
at java.lang.J9VMInternals.verify(J9VMInternals.java:59)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:120)
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:131)
at
org.apache.openjpa.conf.OpenJPAConfigurationImpl.class$(OpenJPAConfigurationImpl.java:65)
at
org.apache.openjpa.conf.OpenJPAConfigurationImpl.<init>(OpenJPAConfigurationImpl.java:182)
at
org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.<init>(JDBCConfigurationImpl.java:110)
at
org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.<init>(JDBCConfigurationImpl.java:100)
at
org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.<init>(JDBCConfigurationImpl.java:91)
at
org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newInstance(JDBCBrokerFactory.java:55)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:615)
at org.apache.openjpa.kernel.Bootstrap.invokeFactory(Bootstrap.java:117)
at
org.apache.openjpa.kernel.Bootstrap.newBrokerFactory(Bootstrap.java:57)
at
org.apache.openjpa.persistence.PersistenceProviderImpl.createEntityManagerFactory(PersistenceProviderImpl.java:70)
at
org.apache.openjpa.persistence.PersistenceProviderImpl.createEntityManagerFactory(PersistenceProviderImpl.java:78)
at
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:83)
at
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:60)
at
util.EntityManagerFactoryHelper.getEntityManagerFactory(EntityManagerFactoryHelper.java:22)