一尘不染

JPA使用替代的“ persistence.xml”

hibernate

我知道的指示:

Persistence.createEntityManagerFactory("persistence-unit-name");

JPA持久性机制读取“ persistence.xml”文件,查找名为“ persistence-unit-
name”的持久性单元,并基于该持久性单元构造EntityManagerFactory。

我的问题是,如何强制JPA 使用不同于“ persistence.xml”的文件 ?例如“ persistence-test.xml”。


阅读 367

收藏
2020-06-20

共1个答案

一尘不染

尽管单个JPA提供程序可以提供一种方法,但是没有标准化的JPA方法可以做到这一点。我建议为main和test使用不同的类路径的标准方法。

例如,如果您使用Maven,并且有两个META- INF/persistence.xml文件,一进src/main/resources一出src/test/resources,则测试将选择一进一出src/test/resources,因为Maven在类路径中将测试类/资源放在主要类/资源之前。您可以轻松配置Ant以类似的方式工作。

如果您需要更高级的逻辑,请考虑使用Spring的JPA支持。它可以让您处理高级情况,例如集成多个persistence.xml文件

2020-06-20