簡體   English   中英

Hibernate映射實體不存在於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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM