我不确定使用JAR文件共享多个项目的JPA对象的最合适方法。即如果您有多个项目都具有Employee
和Contact
和Address
对象,并且您希望将它们放在JAR文件中,那么这是如何工作的。即
jpa/EMF.class
jpa/Employee.class
jpa/Contact.class
jpa/Address.class
jpa/Organisation.class
META-INF/persistence.xml
src/jpa/EMF.java
src/jpa/BlogEntry.java
src/jpa/Comment.java
src/META-INF/persistence.xml
lib/Employee.jar
src/jpa/EMF.java
src/jpa/Stock.java
src/jpa/Transaction.java
src/META-INF/persistence.xml
lib/Employee.jar
这是如何工作的,有两个像上面这样的persistence.xml文件可以吗?一个用于描述Employee.jar文件中的JPA类,另一个用于项目特定的JPA类?
此外,Employee.jar文件不应指定JDBC URL,因为每个项目都将使用dfiferent数据库或模式。如果只在项目src / META-INF / persistence.xml中指定了JDBC连接属性,那么Employee.jar类会选择这些设置吗?
答案 0 :(得分:2)
这是如何工作的,是否可以 像上面这两个persistence.xml文件? 即一个用于描述JPA类 在Employee.jar文件中,另一个 一个用于项目特定的JPA 类?
当然,如果您使用不同的persistence.xml
文件来定义每个不同的持久性单元,那么可以使用多个.jar
文件。您的持久性提供程序应该能够确定哪个类属于哪个持久性单元,并为每个类加载适当的配置文件。
当然,根据您使用的持久性提供程序以及您正在使用的环境,您可能会遇到更多麻烦,但这是另一个问题。
但是一般的想法保持不变,包含持久化实体的每个.jar
文件都应该使用persistence.xml
目录下的classes/META-INF
文件将该组实体关联为持久性单元。 / p>
此致