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

时间:2015-11-03 18:09:49

标签: java maven unit-testing jpa persistence

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

非常感谢

1 个答案:

答案 0 :(得分:2)

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