2012-04-03 66 views
0

使用glassfish,我的persistence.xml未加载。JPA persistence.xml未加载

my.ear 
    META-INF/persistence.xml 
    lib/entities.jar <!-- no persistence.xml here --> 

的persistence.xml包含

<persistence 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_2_0.xsd" 
      version="2.0"> 
    <persistence-unit name="xxxPU" transaction-type="JTA"> 
    <jta-data-source>jdbc/xxxDS</jta-data-source> 
    <jar-file>lib/entities.jar</jar-file> 
    </persistence-unit> 
</persistence> 

成功部署,但是,我得到了。

Unable to retrieve EntityManagerFactory for unitName xxxPU 

谢谢。

+1

你的jpaEntityManagerFactory bean是怎么样的? – heldt 2012-04-03 05:44:21

+0

我刚刚发现将persistence.xml放置在EAR的META-INF /中不是标准方法。任何人都可以证实这一点? 我创建了一个持久性存档,它可以工作。 – 2012-04-03 07:48:30

回答

1

我会尝试创建一个包含persistence.xml文件的.jar文件。然后将jar文件放在lib文件夹中。更多信息here