Hibernate - 注释和公共注释之间的区别?

时间:2012-06-23 16:29:31

标签: java hibernate orm dao hibernate-annotations

保持简短和甜蜜:

有hibernate-commons-annotations 4.1.0-Final和hibernate-annotations 3.5.6-Final。

我是一个小组,他们之间有什么区别,我是否需要他们?

试图“避免”JPA,我的意思是使用嵌入在Hibernate中的JPA 2.0标准。

谢谢!

2 个答案:

答案 0 :(得分:35)

以前,hibernate-annotations是从hibernate核心发布和版本化的。但是从3.5及更高版本开始,它包含在hibernate核心中。由于某种原因,它仍然从3.5.0发布到3.5.6,但你不再需要它了。

进入hibernate-commons-annotations,它是一个基于注释的hibernate子项目使用的实用程序项目。它被其他hibernate项目(如hibernate-search)使用,因此作为一个单独的项目进行维护,它是hibernate-core v3.6.0及更高版本的编译时依赖项。

Source 1 Source 2

答案 1 :(得分:1)

Hibernate Commons Annotations是“用于注释处理的实用程序项目”,例如here所述。它不包含Hibernate的普通用户应该使用的API。

Hibernate注释包含持久性映射注释和相关代码。现在它被合并到Hibernate核心。

如果你真的想避免通过不使用来自javax.persistence包或其子包的类来轻松完成的JPA(1/2)。如果您想要相反,请尽可能使用javax.persistence并避免使用org.hibernate个包。

可以从http://docs.jboss.org/hibernate/orm/4.1/quickstart/en-US/html_single/找到开始使用Hibernate的良好指南。它还告诉我们总是需要哪些库,哪些库是可选的。

Reference documentation包含大量有关使用JPA而非弃用旧版Hibernate注释的建议。