Org.hibernate.ejb.HibernatePersistence cannot be attributed to javax.persistence.spi.PersistenceProvider

I am developing an application using SPRING 3.0.4, JPA 2, Hibernate 3.5.5.

I am trying to use an existing example specified in the link http://www.javacodegeeks.com/2010/05/jboss-42x-spring-3-jpa-hibernate.html .

The only difference is that I use the latest libraries and the JBOSS server.

The following is a list of my / WEB-INF / lib directory files

ANTLR-2.7.6.jar

aopalliance.jar

c3p0-0.9.1.jar

Wikimedia Commons Collection-3.1.jar

General Logging 1.1.1.jar

dom4j-1.6.1.jar

Gwt-dev.jar

Gwt-user.jar

hibernate3.jar

hibernation-JPA-2.0-api-1.0.0.Final.jar

hsqldb.jar

Javassist-3.9.0.GA.jar

JTA-1.1.jar

log4j-1.2.16.jar

org.springframework.aop-3.0.4.RELEASE.jar

org.springframework.asm-3.0.4.RELEASE.jar

org.springframework.aspects-3.0.4.RELEASE.jar

org.springframework.beans-3.0.4.RELEASE.jar

org.springframework.context.support-3.0.4.RELEASE.jar

org.springframework.context-3.0.4.RELEASE.jar

org.springframework.core-3.0.4.RELEASE.jar

org.springframework.expression-3.0.4.RELEASE.jar

org.springframework.instrument.tomcat-3.0.4.RELEASE.jar

org.springframework.instrument-3.0.4.RELEASE.jar

org.springframework.jdbc-3.0.4.RELEASE.jar

org.springframework.jms-3.0.4.RELEASE.jar

org.springframework.orm-3.0.4.RELEASE.jar

org.springframework.oxm-3.0.4.RELEASE.jar

org.springframework.test-3.0.4.RELEASE.jar

org.springframework.transaction-3.0.4.RELEASE.jar

org.springframework.web.portlet-3.0.4.RELEASE.jar

org.springframework.web.servlet-3.0.4.RELEASE.jar

org.springframework.web.struts-3.0.4.RELEASE.jar

org.springframework.web-3.0.4.RELEASE.jar

SLF4J-api-1.5.8.jar

SLF4J-log4j12-1.6.1.jar

spring4gwt-0.0.1.jar

Below is my file / WEB -INF / web.xml

<?xml version="1.0" encoding="UTF-8"?> 

 <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <!-- Servlets --> <servlet> <servlet-name>springGwtRemoteServiceServlet</servlet-name> <servlet-class>org.spring4gwt.server.SpringGwtRemoteServiceServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>springGwtRemoteServiceServlet</servlet-name> <url-pattern>/gwtspring/springGwtServices/*</url-pattern> </servlet-mapping> <!-- Default page to serve --> <welcome-file-list> <welcome-file>GWTSpring.html</welcome-file> </welcome-file-list> 

Below is the file my / WEB-INF / applicationContext.xml

 <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation=" http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd"> <context:component-scan base-package="com.javacodegeeks.gwtspring" /> <task:annotation-driven executor="myExecutor" scheduler="myScheduler" /> <task:executor id="myExecutor" pool-size="5" /> <task:scheduler id="myScheduler" pool-size="10" /> <tx:annotation-driven /> <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean"> <property name="persistenceUnitName" value="MyPersistenceUnit" /> </bean> <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory" /> </bean> 

Below is my file / src / resources / META -INF / petsistence.xml

 <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" version="2.0"> <persistence-unit name="MyPersistenceUnit" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <non-jta-data-source>java:/gwtDS</non-jta-data-source> <properties> <property name="hibernate.hbm2ddl.auto" value="update" /> <property name="hibernate.show_sql" value="false" /> <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect" /> <property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver" /> <property name="hibernate.connection.url" value="jdbc:hsqldb:mem:salvation" /> <property name="hibernate.connection.username" value="sa" /> <property name="hibernate.connection.password" value="" /> <property name="hibernate.c3p0.min_size" value="5" /> <property name="hibernate.c3p0.max_size" value="20" /> <property name="hibernate.c3p0.timeout" value="300" /> <property name="hibernate.c3p0.max_statements" value="50" /> <property name="hibernate.c3p0.idle_test_period" value="3000" /> </properties> </persistence-unit> 

Now when I try to execute it using the JBOSS server, it gives me the following error

11: 34: 17,828 INFO [ServerImpl] JBoss (Microcontainer) [5.1.0.GA (build: SVNTag = JBoss_5_1_0_GA date = 200905221053)] Started at 19s: 985ms 11: 34: 28 437 INFO [PersistenceUnitDeployment] Starting persistence persistence. : unitName = # MyPersistenceUnit 11: 34: 29,046 ERROR [AbstractKernelController] Error setting in Start: name = persistence.unit: unitName = # MyPersistenceUnit state = Create java.lang.ClassCastException: org.hibernate.ejb.HibernatePersistaxence .persistence.spi.PersistenceProvider on org.jboss.jpa.deployment.PersistenceUnitDeployment.start (PersistenceUnitDeployment.javahaps00) at sun.reflect.NativeMethodAccessorImpl.invoke0 (native method) at sun.reflect.vativeModative.notativetoplvativemodative.odativefoot.notativetoplvativemodative.odativeethod.notativetoplvativemodative.odativeethod.notativeethod.notativeethod.notativeethod. 39) on sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) in java.lan g.reflect.Method.invoke (Method.javaPoint97) at org.jboss.reflect.plugins.introspection.ReflectionUtils.invoke (ReflectionUtils.java:59) at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke ReflectMethodInfoImpl.java:150) on org.jboss.joinpoint.plugins.BasicMethodJoinPoint.dispatch (BasicMethodJoinPoint.java:66) on org.jboss.kernel.plugins.dependency.KernelControllerContextAction $ JoinpointDexatchrolernppervernpper .jboss.kernel.plugins.dependency.ExecutionWrapper.execute (ExecutionWrapper.java:47) on org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper (KernelControllerContextAction.javajp .KernelControllerContextAction.dispatchJoinPoint (KernelControllerContextAction.java:70) at org.jboss.kernel.plugins.dependency.LifecycleAction.installActionInternal (LifecycleAction.java:221) at org.jboss.kernel.plu gins.dependency.InstallsAwareAction.installAction (InstallsAwareAction.java:54) on org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction (InstallsAwareAction.java:42) on org.jboss.dependency.plugins.action.SimpleContallctiononon SimpleControllerContextAction.java:62) at org.jboss.dependency.plugins.action.AccessControllerContextAction.install (AccessControllerContextAction.java:71) at org.jboss.dependency.plugins.AbstractControllerContextActions.install (AbstractControllerCavatextAction) .dependency.plugins.AbstractControllerContext.install (AbstractControllerContext.javahaps48) at org.jboss.dependency.plugins.AbstractController.install (AbstractController.java:1631) at org.jboss.dependency.plugins.AbstractController.increlerState Abstract : 934) on org.jboss.dependency.plugins.AbstractController.resolveContexts (AbstractController.java:1082) on org.jboss.dependency .plugins.AbstractController.resolveContexts (AbstractController.java:984) at org.jboss.dependency.plugins.AbstractController.install (AbstractController.java:774) at org.jboss.dependency.plugins.AbstractController.install (AbstractController.java ) at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy (BeanMetaDataDeployer.java:121) at org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.deploy (Beanep jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy (AbstractSimpleRealDeployer.java:62) at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy (AbstractRealDeployer.jer.java.jers.java. plugins.deployers.DeployerWrapper.deploy (DeployerWrapper.java:171) at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy (DeployersImpl.java:1439) at org.jboss.deployers.plugins.deployers.DeployersImpl.do DeployersImpl.j ava: 1157) on org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst (DeployersImpl.java:1178) on org.jboss.deployers.plugins.deployers.DeployersImpl.install (DeployersImpl.java:1098) on org.jboss .dependency.plugins.AbstractControllerContext.install (AbstractControllerContext.javahaps48) at org.jboss.dependency.plugins.AbstractController.install (AbstractController.java:1631) at org.jboss.dependency.plugins.AbstractController.increlerState Abstract : 934) at org.jboss.dependency.plugins.AbstractController.resolveContexts (AbstractController.java:1082) at org.jboss.dependency.plugins.AbstractController.resolveContexts (AbstractController.java:984) at org.jboss.dependency. AbstractController.change (AbstractController.java:822) at org.jboss.dependency.plugins.AbstractController.change (AbstractController.javahaps53) at org.jboss.deployers.plugins.deployers.DeployersImpl.process (DeployersImpl.java:781) at org.jboss.deployers.plugins.main.MainDeployerImpl.process (MainDeployerImpl.java:702) at org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process (MainDeployerAdapter.java:117) on org.jboss.system .server.profileservice.hotdeploy.HDScanner.scan (HDScanner.javahaps62) at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run (HDScanner.java:255) in java.util.concurrent.Executors $ RunnableAdapter .call (Executors.java:441) in java.util.concurrent.FutureTask $ Sync.innerRunAndReset (FutureTask.javahaps17) in java.util.concurrent.FutureTask.runAndReset (FutureTask.java:150) in java.util. concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.access $ 101 (ScheduledThreadPoolExecutor.java:98) in java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.runPeriodecultuutultuutlut18duduultujava18 Java : 205) in java.util.concurrent.ThreadPoolExecutor $ Worker.runTask (ThreadPoolExecutor.java:886) in java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:908) in java.lang.Thread.run (Thread.java : 619)

Can anyone here help me solve the problem.

Please let me know if you need anything else.

Thanks.

+4
source share
3 answers

I personally have never managed to use JPA 2.0 with JBoss 5.1.x (due to too tight integration with JPA 1.0), although this is possible with JBoss 4.2.

My suggestion was to either use JBoss 6.0 M4 (at the time of writing this) or delete all hibernate JAR-related files from webapp:

  • ANTLR-2.7.6.jar
  • General collection-3.1.jar
  • dom4j-1.6.1.jar
  • hibernate3.jar
  • sleep mode JPA-2.0-api-1.0.0.Final.jar-
  • Javassist-3.9.0.GA.jar
  • JTA-1.1.jar

Or just use Tomcat (and deploy your webapp as it is) since you are not using anything from JBoss.

see also

+4
source

I think you do not need hibernate-jpa-2.0-api-1.0.0.Final.jar in /WEB-INF/lib , since JBoss has its own set of JPA classes.

So, you have two sets of JPA classes loaded by different class loaders, and these classes cannot be passed to each other.

+3
source

I created a workaround for this particular problem. Check it out here: How to use JPA2 on JBoss 5.x? (or How to fix class loading isolation problem?)

+1
source

All Articles