我有一个打包在JAR文件(我的EJB文件)中的应用程序。然后将其打包在EAR文件中。
这两个软件包都有自己的 persistence.xml 文件。 glassfish(或任何服务器)使用哪一个?它看两个文件吗?或者只有其中一个?
答案 0 :(得分:1)
glassfish(或任何服务器)使用哪一个?
8.2持久性单位包装
在Java EE环境中,EJB-JAR,WAR,EAR或应用程序客户端JAR可以定义一个persis- tence单位。可以在这些范围内定义任意数量的持久性单元。 持久性单元可以打包在WAR或EAR中包含的一个或多个jar文件中,作为 EJB-JAR文件或WAR classes目录中的类集,或者这些类的组合 定义如下......
编辑:
如果我在两个具有相同名称的XML文件中定义了持久性单元,它将使用哪个?
默认情况下,您的.jar。
中定义的那个8.2.2持久性单位范围
在EAR级别定义的持久性单元通常对所有组件可见 在申请中。但是,如果EJB-JAR定义了同名的持久性单元, EAR中的WAR或应用程序jar文件,即在EAR中定义的该名称的持久性单元 对于EJB-JAR,WAR或应用程序jar定义的组件,级别将不可见 文件,除非持久性单元引用使用持久性单元名称#语法来指定 用于消除引用歧义的路径名...