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

标签 java maven unit-testing jpa persistence

目前我正在开发一个 Java Web 应用程序,我们使用两个数据库:用于单元测试的 in-Mem 数据库和用于生产的 mysql。因此,我们在 persistence.xml 中有两个持久单元,我们希望根据 maven 构建生命周期阶段获取 EntityManager 实例(测试:hsqldb,安装:mysql)。 有没有办法做到这一点,例如通过注入(inject)一些东西?

非常感谢

最佳答案

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

关于java - 如何根据 Maven 阶段(安装或测试)在 DAO 类中使用不同的持久性单元?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33506178/

相关文章:

java - 在 Java 中建模数字类型和它们之间的算术运算

java - 如何发送未在 Thrift 中定义结构的 Java 对象

java - 使用Zoom API共享对Zoom Meeting设置的访问权限

java - 离线使用maven

.net - VS 2008 单元测试的 WCF 安全错误

Android BluetoothAdapter模拟

python - 如何测试数据检索模块?

java - Android Java GUI freeze/w ProgressBar

java - 为什么在 docker 容器中执行命令与在 Dockerfile 中写入命令得到不同的结果?

maven - 第一次 mvn 原型(prototype) :generate failed