有没有一种方法来初始化EntityManager没有定义的持久性单元?您能否提供创建实体管理器所需的所有属性?我需要EntityManager在运行时从用户的指定值创建.不能更新persistence.xml和重新编译.
关于如何做到这一点的任何想法都受到欢迎!
有没有办法在Maven项目中设置第二个persistence.xml文件,以便用于测试而不是用于部署的普通文件?
我尝试将一个persistence.xml放入src/test/resources/META-INF,它被复制到target/test-classes/META-INF中,但似乎是target/classes/META-INF(来自src/main的副本)尽管mvn -X test以正确的顺序列出了类路径条目,但首选资源是首选的:
[DEBUG] Test Classpath :
[DEBUG] /home/uqpbecke/dev/NetBeansProjects/UserManager/target/test-classes
[DEBUG] /home/uqpbecke/dev/NetBeansProjects/UserManager/target/classes
[DEBUG] /home/uqpbecke/.m2/repository/junit/junit/4.5/junit-4.5.jar
...
Run Code Online (Sandbox Code Playgroud)
我希望能够针对简单的hsqldb配置运行测试,而无需更改JPA配置的部署版本,理想情况是在项目结账后直接进行,无需进行本地调整.
受到这个问题的启发:JPA使用替代的“persistence.xml”我创建了一个文件夹结构,如下所示:
src/main/resources/META-INF/persistence.xml src/test/resources/META-INF/persistence.xml两者persistence-units具有相同的名称,因为我的目标是测试应选择 中的名称test-folder,否则normal应使用“ ”名称。上述问题的答案声称“Maven 将测试类/资源放在类路径中的主类/资源之前”但这不是我所看到的。如果persistence-units有相同的名称,它将始终使用其中的那个src/main/resources/具有相同的名称,它将始终使用...
任何有关如何解决此问题的建议将不胜感激