I am getting below exception when we try to deploy our application with JPA2 Provider as Hibernate in weblogic 12.1
Caused By: java.lang.ClassCastException: org.eclipse.persistence.jpa.PersistenceProvider cannot be cast to javax.persistence.spi.PersistenceProvider
at javax.persistence.Persistence$1.isLoaded(Persistence.java:92)
at org.hibernate.validator.internal.engine.resolver.JPATraversableResolver.isReachable(JPATraversableResolver.java:57)
I have below entries in weblogic.xml :
<package-name>org.hibernate.*</package-name>
<package-name>javax.persistence.*</package-name>
</prefer-application-packages>
and below pre class path setting in weblogic server commEnv.cmd (common/bin).
set PRE_CLASSPATH=%MW_HOME%\modules\javax.persistence_2.0.0.0_2-0.jar;
Application works fine in weblogic 11g with below pre class path setting.
PRE_CLASSPATH="/apps/Oracle/Middleware/modules/javax.persistence_1.0.0.0_2-0-0.jar:/apps/Oracle/Middleware/modules/com.oracle.jpa2support_1.0.0.0_2-0.jar"
There was as addition jar com.oracle.jpa2support_1.0.0.0_2-0.jar. This jar is missing in weblogic 12.1 modules directory.
Could anyone suggest how to resolve the persistence provider conflict issue in weblogic 12.1 ?
Hibernate Jar Versions : hibernate-core-4.2.0.Final.jar, hibernate-jpa-2.0-api-1.0.1.Final.jar, hibernate-validator-4.3.1.Final.jar
Best Answer
It worked after removing below package from weblogic.xml
Also PRE_CLASSPATH setting is not required for 12c