Java 根据maven阶段(安装或测试),如何在DAO类中使用不同的持久化单元?

Java 根据maven阶段(安装或测试),如何在DAO类中使用不同的持久化单元?,java,maven,unit-testing,jpa,persistence,Java,Maven,Unit Testing,Jpa,Persistence,目前我正在开发一个JavaWebApp,我们使用两个数据库:用于单元测试的in-Mem数据库和用于生产的mysql数据库。因此,persistence.xml中有两个持久性单元,我们希望根据maven构建生命周期阶段(test:hsqldb,install:mysql)获得EntityManager实例。 有没有什么方法可以做到这一点,比如注射一些东西 非常感谢我这样做的方式是在src/test/resources/META-INF下有一个特定于测试的persistence.xml文件。这将出现

目前我正在开发一个JavaWebApp,我们使用两个数据库:用于单元测试的in-Mem数据库和用于生产的mysql数据库。因此,persistence.xml中有两个持久性单元,我们希望根据maven构建生命周期阶段(test:hsqldb,install:mysql)获得EntityManager实例。 有没有什么方法可以做到这一点,比如注射一些东西


非常感谢

我这样做的方式是在
src/test/resources/META-INF
下有一个特定于测试的
persistence.xml
文件。这将出现在运行时类路径中的production
persistence.xml
文件之前,因此它将是要加载的文件。

我认为在每种情况下都需要使用不同的“profile”值。