如何根据 Maven 阶段(安装或测试)在我的 DAO 类 中使用不同的持久性单元?

How can I use diffrent persistence unit in my DAO classes depending on maven phase (Install or test)?

目前我正在开发一个 Java webapp,我们使用两个数据库:用于单元测试的内存数据库和用于生产的 mysql。所以我们在 persistence.xml 中有两个持久化单元,我们希望根据 Maven 构建生命周期阶段(测试:hsqldb,安装:mysql)获取 EntityManager 实例。 有没有办法做到这一点,例如通过注射一些东西?

非常感谢

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