出于某种奇怪的原因,我的Hibernate在META-INF文件夹中找不到我的persistence.xml
。我有以下项目结构:
我的班级DataBase.java
调用方法
Persistence.createEntityManagerFactory("LocalUnit");
该错误表示无法找到名为LocalUnit
的持久性单元。我仔细检查了名称和所有其他属性,并尝试了来自互联网的多个示例persistence.xml
文件。我相信,Hibernate因某些愚蠢的原因找不到我的meta-inf文件夹。
这是发生在任何人身上还是有人知道如何解决这个问题?
答案 0 :(得分:0)
在所有情况下,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.