我正在尝试将 jpa/hibernate 框架与没有容器的简单 java 控制台应用程序一起使用。根据 jpa 文档,persistence.xml 文件应放在 src 文件夹的 META-INF 文件夹下。
当尝试将应用程序打包为简单的 jar 文件时出现问题,然后 persitence.xml
文件将在生成的 jar 文件中(因为它应该放在 src 文件夹中)。
在这种情况下,persistence.xml
文件不容易访问以修改应用程序配置,如 DB URL、超时、 hibernate 日志...
我试图将 META-INF/persistence.xml
放在 src 文件夹之外并将其添加到 CLASSPATH,但出现错误提示 Could not find any META-INF/persistence.xml类路径中的文件
总是被抛出。
一旦应用程序像任何其他经典配置文件(例如 .properties
文件)一样打包并部署到生产环境后,是否有任何方法可以保持 persistence.xml
可编辑和可访问).
谢谢
最佳答案
我认为您不需要使persistence.xml
可编辑,因为您可以在调用Persistence.createEntityManagerFactory()
时提供额外的属性。 (或使用类似的 Hibernate 特定机制)。
因此,您可以将 persistence.xml
仅用于静态配置,并使用您自己的配置机制配置动态属性。
关于java - 没有容器的 Persistence.xml 文件使用 [packaging],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8786118/