2016-09-07 145 views
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文件

感谢您的任何帮助。

+0

你可以显示你的persistence.xml的内容吗? – mikereem

+0

http://stackoverflow.com/questions/1158159/no-persistence-provider-for-entitymanager-named – imoteb

+0

嗨,这是我的persistence.xml文件。 – anu8802

回答

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> 
+0

这似乎很短。方言,db驱动程序,安全属性在哪里设置? – mikereem

+0

嗨,我想出了解决方案在我的情况,以防万一它可以帮助某人。我必须将persistence.xml文件放在Resources/META-INF目录下,并将其作为ant文件将所有资源放在classpath中。 – anu8802

+0

嗨mikereem,db属性在ms-ds.xml文件中设置 – anu8802

相关问题