【发布时间】:2019-10-04 09:58:27
【问题描述】:
我明白jpa、hibernate的区别。需要了解 JPAHibernate 和 hibernate 的区别。
【问题讨论】:
-
我知道程序上的区别。请帮助理解概念
我明白jpa、hibernate的区别。需要了解 JPAHibernate 和 hibernate 的区别。
【问题讨论】:
这很简单:
JPA 是 Java Persistence API 规范并定义了一个接口。
Hibernate 是一个 JPA 实现。
就是这样。重要的一点是 Hibernate 比 JPA 有更多的特性,因为 JPA 标准涵盖了所有 JPA 实现都必须实现的一组通用特性。
此外,Hibernate 比 JPA 更老,并且有自己的接口。但是 Hibernate 提交者建议尽可能使用 JPA 接口。
【讨论】:
Hibernate 是一个 ORM 的实现,可以通过它自己的 API (Hibernate) 或通过 JPA 接口 (JPA Hibernate) 进行访问。更多info。
Hibernate 是在 2001 中创建的,而 JPA 是在 2006 中创建的。我猜想 JPAHibernate 这个词是在它第一次实现 JPA 时出现的。
@org.hibernate.annotations.Entity 很特别:它允许添加 JPA 注释中不可用的参数。引用from doc:
注意
@javax.persistence.Entity 仍然是强制性的,@org.hibernate.annotations.Entity 不是替代品。
【讨论】:
@Entity 实际上添加了信息,请参阅我的更新答案。