2016-09-07 212 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

相關問題