2016-11-22 45 views
0

我面臨以下異常而創建的createEntityManagerFactory雖然我在META-INF文件夾和持久性單元的persistence.xml ABC的存在的persistence.xml和持久性提供是休眠如下。問題而在JPA重命名的persistence.xml,休眠使用的EclipseLink

<persistence-unit name="ABC" transaction-type="RESOURCE_LOCAL"> 
    <provider>org.hibernate.ejb.HibernatePersistence</provider> 

例外

javax.persistence.PersistenceException: No Persistence provider for EntityManager named ABC 

在javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)

所以我想的createEntityManagerFactory是不是指糾正persistence.xml文件和我改變持久性-alternative.xml和 我用下面的代碼來指代持久性alternative.xml

EntityManagerFactory emf = objEmfMap.get(unitName); 
    try{ 
     Properties pros = new Properties(); 

     pros.setProperty(PersistenceUnitProperties.ECLIPSELINK_PERSISTENCE_XML, 
         "META-INF/persistence-alternative.xml"); 
     // check if the entity manager factory is available for the unit else create    
     if (emf == null) { 
      emf = Persistence.createEntityManagerFactory(unitName,pros); 
      objEmfMap.put(unitName, emf); 
     } 

我放在持久性alternative.xml在META-INF文件夾中。 但我仍面臨同樣的例外。

javax.persistence.PersistenceException:否EntityManager的持久性提供者在javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)名爲ABC

夥計們,請讓我知道如何解決這個問題..

在此先感謝

回答

0

當您在配置文件中進行更改(如persistence.xml)時,它可能有助於清理和重建項目。轉到菜單並選擇Project - Clean .... 如果Eclipse未設置爲自動構建項目,請選擇Project - Build Project。

+0

即使經過多次清理和建設項目,我仍面臨同樣的問題。 – Saawan