20

为了保持简短和甜蜜:

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

我是一个小块,它们之间有什么区别,我需要它们吗?

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

谢谢!

4

2 回答 2

37

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

来到 hibernate-commons-annotations,它是一个实用项目,由基于注释的 hibernate 子项目使用。它被 hibernate-search 等其他 hibernate 项目使用,因此作为一个单独的项目维护,它是 hibernate-core v3.6.0 及更高版本的编译时依赖项。

来源 1 来源 2

于 2012-06-23T18:03:07.153 回答
1

Hibernate Commons Annotations 是“用于注释处理的实用程序项目”,例如此处所述。它不包含 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 入门指南。它还告诉您始终需要哪些库以及哪些库是可选的。

参考文档包含大量关于使用 JPA 而不是弃用的遗留 Hibernate 注释的建议。

于 2012-06-23T18:19:00.827 回答