[英]Hibernate META-INF Location wrong?
由于某些奇怪的原因,我的Hibernate在META-INF文件夹中找不到我的persistence.xml
。 我有以下项目结构:
我的类DataBase.java
调用该方法
Persistence.createEntityManagerFactory("LocalUnit");
该错误表明它找不到名为LocalUnit
的持久性单元。 我对名称和所有其他属性进行了三重检查,并尝试了来自互联网的多个示例persistence.xml
文件。 我相信,由于某些愚蠢的原因,Hibernate找不到我的meta-inf文件夹。
这是发生在任何人身上还是有人知道如何解决该问题?
在所有情况下,persistence.xml始终位于{root-of-persistence-unit}/META-INF/ directory
。 例如,
foo.war:
WEB-INF/classes/META-INF/persistence.xml //good
WEB-INF/classes/com/foo123/jpa/Project.class
WEB-INF/web.xml
index.jsp
您还可以将实体类和persistence.xml
打包在一个库jar中,该库被打包在war中:WEB-INF / lib
foo.war:
WEB-INF/lib/my-entities.jar
WEB-INF/web.xml
index.jsp
my-entities.jar:
META-INF/persistence.xml //good
com/foo123/jpa/Project.class
如果您正在使用maven项目 :
src/main/resources
是地方。 当涉及到persistence.xml
,应将其放在META-INF
文件夹中。 总结一下: src/main/resources/META-INF/persistence.xml.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.