2012-06-23 63 views
18

爲了保持它簡短甜美:Hibernate - 註釋和公共註釋之間的區別?

有hib​​ernate-commons-annotations 4.1.0-Final和hibernate-annotations 3.5.6-Final。

我很好,他們之間有什麼區別,我需要他們嗎?

試圖「避免」JPA,我的意思是使用嵌入在Hibernate中的JPA 2.0標準。

謝謝!

回答

33

以前,hibernate-annotations是從hibernate core發佈和版本化的。但是從3.5版起,它就包含在hibernate內核中。由於某種原因,它仍然從3.5.0發佈到3.5.6,但你不再需要它了。

即將推出hibernate-commons-annotations,它是一個基於註釋的hibernate子項目使用的實用程序項目。它被hibernate-search等其他hibernate項目所使用,因此被作爲一個單獨的項目進行維護,它是hibernate-core v3.6.0及更高版本的編譯時間依賴項。

Source 1 Source 2

+0

很好的答案!如果你不介意的話,添加到https://community.jboss.org/wiki/HibernateCompatibilityMatrix。 –

+0

當然,沒問題! – Ravi

1

休眠共享註釋是 「爲註釋處理工具項目」,作爲舉例稱here。它不包含Hibernate的普通用戶應該使用的API。

Hibernate註釋包含持久性映射註釋和相關代碼。現在它被合併到Hibernate核心中。

如果您確實想避免通過不使用javax.persistence包中的類或從其子包輕鬆完成的JPA(1/2)。如果您想要相反,請儘可能使用javax.persistence並避免使用org.hibernate包。

好的Hibernate入門指南可以從http://docs.jboss.org/hibernate/orm/4.1/quickstart/en-US/html_single/找到。它還告訴哪些庫總是需要的,哪些是可選的。

Reference documentation包含大量有關使用JPA而不是棄用的遺留Hibernate註釋的建議。