根据JPA规范,您应该可以在EAR级别定义一个持久性单元,该持久性单元对于在同一.ear中定义的所有子模块都是可见的:
8.2.2持久性单元的范围
…
在EAR级别定义的持久性单元通常对于应用程序中的所有组件都是可见的 。但是,如果由EAR中的EJB-
JAR,WAR或应用程序jar文件定义了具有相同名称的持久性单元,则在EAR级别定义的具有该名称的持久性单元对于该EJB-
JAR,WAR或应用程序jar文件,除非持久性单元引用使用持久性单元名称#语法指定路径名称以消除引用的歧义。
但是,在第8节中:
注意:Java Persistence 1.0支持在EAR的根目录中将jar文件用作持久性单元的根目录。
不再支持此用法。在这种情况下,可移植应用程序应使用EAR库目录。参见[9]。
因此,我将尝试将jar放在lib文件夹中。如果需要将该模块作为EJB模块,则它必须在耳朵的根部,因此可以使用persistence.xml文件创建一个单独的jar。



