[英]Hibernate entities not being found unless manually specified in persistence.xml
[英]Hibernate mapping entities not present in persistence.xml
我正在使用persistence.xml
在Hibernate中指定我的映射设置。 那就是我正在使用EntityManager类来获取我的交易。
现在,我的persistence.xml
列出了以下类
<class>test.entity.Course</class>
<class>test.entity.Semester</class>
<class>test.entity.Subject</class>
同样在我的Eclipse项目中,我还有另外两个类(Student.java和User.java),它们用@Entity
批注标记,但未在persistence.xml
文件中列出。
但是当我运行我的项目时,Hibernate实际上也映射了这两个类。 我的意思是,它也为这两个类创建数据库表(我将hbm2ddl
设置为auto
)。
为什么这样做呢? 它不是只映射persistence.xml
列出的文件吗?
默认情况下,JPA标准指出,在应用程序服务器环境中,无论是否在persistence.xml中列出,都将考虑所有带@Entity注释的类。 如果您确实只想包括persistence.xml中提到的那三个实体,则需要在persistence.xml文件中的persistence-unit元素中添加以下设置:
<exclude-unlisted-classes>true</exclude-unlisted-classes>
可以使用persistence.xml或JPA批注配置Hibernate。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.