我想利用JPA @Entity註釋不要聲明類實體是一個J2SE persistence.xml文件。我想什麼來避免:有沒有辦法掃描JPA實體不聲明persistence.xml文件中的持久化類?
<persistence-unit name="test" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.mycompany.entities.Class1</class>
<class>com.mycompany.entities.Class2</class>
<class>com.mycompany.entities.Class3</class>
</persistence-unit>
這裏是我實際的persistence.xml看起來很像
<persistence-unit name="test" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<!-- Scan for annotated classes and Hibernate mapping XML files -->
<property name="hibernate.archive.autodetection" value="class, hbm" />
<property name="hibernate.cache.use_second_level_cache" value="false" />
<property name="hibernate.cache.use_query_cache" value="false" />
<property name="hibernate.hbm2ddl.auto" value="create-drop" />
</properties>
</persistence-unit>
是否有從內部掃描JPA實體persistence.xml文件的標準方式一個JAR模塊? 是否存在一種非標準的Hibernate方法來從JAR模塊內部掃描persistence.xml文件中的JPA實體?
是的,它看起來像這樣,但它不適用於我的情況。 \t以下是屬性hibernate.archive.autodetection的定義:「確定在解析.par歸檔文件時由Hibernate Entity Manager自動發現哪個元素(默認爲class,hbm)。」。但什麼是.par檔案?我從來沒有聽說過這樣一個arhive。 – 1tox
注意:我已更新原始帖子 – 1tox
.par存檔是持久性存檔文件,您的實體和persistence.xml可以捆綁在一起。這不是必需的,所以不要擔心(請參閱Hibernate團隊成員的最後一篇文章:https://forum.hibernate.org/viewtopic.php?f = 9&t = 947671)。另一個建議是將 false exclude-unlisted-classes>添加到你的持久性單元。 –
Cody