我有一个带有一些模块的maven托管项目(带有jar包),每个模块在其META-INF目录中包含其“persistence.xml”。
另一个模块负责将这些模块打包成war文件。但我发现无法将这些“persistence.xml”“合并”到一个文件中......
有可能吗?
先谢谢。
答案 0 :(得分:5)
如果您了解XSLT,则可以编写转换来合并持久性文档。 Maven有一个用于运行XSLT(和validationg XML)的插件 - xml-maven-plugin
但你需要这样做吗?例如,阅读here和here表示将从所有jar中获取persistence.xml,而不仅仅是webapp war。因此,您应该能够将persistence.xml保留在库jar中,并且将由webapp使用。
答案 1 :(得分:1)
喜 为了让服务器搜索多个persistence.xml文件并配置所有持久性单元,您必须将此persistence.xml文件打包在EJB JAR文件中。
Aymen
答案 2 :(得分:0)
另一个模块负责将这些模块打包成war文件。但我发现无法将这些“persistence.xml”“合并”到一个文件中
你为什么要这样做?如果您有多个具有persistence.xml
的JAR,则它们很可能定义了不同的持久性单元(持久性单元定义了应用程序相关或分组的所有类的集合,并且必须在映射中进行共处到一个数据库)。
为什么不为正确的持久性单位获得EntityManagerFactory
?