2012-04-09 53 views
1

我刚从Tomcat迁移到JBoss AS 7. 因此,我在JBoss中配置了Mysql数据源(将module.xml添加到相关Jar中,将驱动程序块添加到standalone.xml中并配置通过JBoss的接口数据源在JBoss AS 7中找不到持久性提供者

没有错误部署,但不可能得到一个EntityManager(JPA与Hibernate背景)当

事实上,当执行该代码:。

Persistence.createEntityManagerFactory("RoomManagement"); 

我得到这个埃罗R:

javax.persistence.PersistenceException:否 EntityManager的持久性提供者名为RoomManagement javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:69) javax.persistence.Persistence.createEntityManagerFactory(Persistence.java: 47)

很奇怪,因为我很好地证实了我的persistence.xml确实发生在WAR-WEB-INF/classes/META-INF目录中。

我的persistence.xml看起来像如下:

<?xml version="1.0" encoding="UTF-8"?> 
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0"> 

    <persistence-unit name="RoomManagement" transaction-type="JTA"> 
     <provider>org.hibernate.ejb.HibernatePersistence</provider> 
     <jta-data-source>java:jboss/datasources/MySqlDS</jta-data-source> 
     <class>com.parisdescartes.roommanagement.domain.entities.Address</class> 
     <class>com.parisdescartes.roommanagement.domain.entities.Building</class> 
     <class>com.parisdescartes.roommanagement.domain.entities.Civility</class> 
     <class>com.parisdescartes.roommanagement.domain.entities.EventType</class> 
     <class>com.parisdescartes.roommanagement.domain.entities.Job</class> 
     <class>com.parisdescartes.roommanagement.domain.entities.Reservation</class> 
     <class>com.parisdescartes.roommanagement.domain.entities.Room</class> 
     <class>com.parisdescartes.roommanagement.domain.entities.RoomType</class> 
     <class>com.parisdescartes.roommanagement.domain.entities.Tool</class> 
     <class>com.parisdescartes.roommanagement.domain.entities.User</class> 
     <class>com.parisdescartes.roommanagement.domain.entities.UserDetail</class> 
     <class>com.parisdescartes.roommanagement.domain.entities.Schedule</class> 
     <properties> 
      <property name="hibernate.connection.autocommit" value="true" /> 
      <property name="hibernate.archive.autodetection" value="class"/> 
      <property name="hibernate.show_sql" value="true"/> 
      <property name="hibernate.format_sql" value="true"/> 
      <property name="hbm2ddl.auto" value="update"/> 
      <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" /> 
     </properties> 
    </persistence-unit> 
</persistence> 

难道我犯了一个错误或忘了指定的东西吗?

回答

5

WEB-INF/lib中删除休眠jar。 JBoss有捆绑的,所以如果你在类路径上有它,它可能会混淆类加载器。

+0

非常感谢!这正是:) – Mik378 2012-04-09 22:20:58

相关问题