找不到持久性提供程序

时间:2016-09-07 11:41:18

标签: java hibernate jpa jboss ejb-3.0

当我使用Jboss 4.2.3 GA并配置我的ms-sql.ds文件时,我收到以下错误。我创建了一个Entity Bean EJB3,我试图从EJB 2.1 Session Bean访问该Entity bean。首先,我想检查一下是否可能。因为当我使用EntityManagerEntityManagerFactory时, 我的EntityManager即将为空。另外,如果我使用EntityManagerFactory,它会给出 错误说:

  

javax.persistence.PersistenceException:没有持久性提供程序   EntityManager名为EjbComponentPU

以下是我的课程

public class TestBean implements SessionBean {

//pass persistence unit to entityManager.
@PersistenceContext(unitName="EjbComponentPU")
 private EntityManager entitymanager;

我的项目文件夹结构是:

src - 拥有所有包裹。 在里面,我有META-INF文件夹,其中包含persistence.xml文件

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

这是我的persistence.xml文件。

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" 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_1_0.xsd">
   <persistence-unit name="EjbComponentPU" transaction-type="JTA">
      <provider>org.hibernate.ejb.HibernatePersistence</provider>
      <jta-data-source>java:/testDS</jta-data-source>
       <exclude-unlisted-classes>false</exclude-unlisted-classes>
   </persistence-unit>