java - 没有容器的 Persistence.xml 文件使用 [packaging]

标签 java hibernate orm persistence jpa-2.0

我正在尝试将 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/

相关文章:

java - 构造函数可以像java中的方法一样返回数据类型吗?

Java泛型.class

java - 无法在应用引擎中读取上传的 blob

java - hibernate中的继承,其中派生类没有关联表

java - 如何覆盖 FetchType.EAGER 以在运行时变得懒惰

node.js - 继承一对一关系

java - 我必须找到两个数组多维和锯齿状数组之间的共同元素

java - 迁移到 Hibernate 4、@Inheritance 和 @GenerateValue 的误解

orm - 多对多关系的 DQL 语句

java - 如何过滤列表的内容?