那很简单:
JPA是Java持久性API规范,它定义了一个接口。
Hibernate是一个JPA实现。
就这样。重要的一点是Hibernate比JPA具有更多的特性,因为JPA标准涵盖了所有JPA实现都必须实现的一组通用特性。
此外,Hibernate比JPA更老,并且有自己的接口。但是Hibernate提交者建议尽可能使用JPA接口。
Hibernate是ORM的实现,可以通过自己的API(Hibernate)或JPA接口(JPA Hibernate)访问。更多信息。
Hibernate创建于2001年,而JPA创建于2006年。我猜术语JPAHibernate出现在它第一次实现JPA时。
@org. hibernate.annotations.Entity
很特别:它允许添加JPA注释中不可用的参数。引用自文档:
注
@javax.持久性. Entity仍然是强制性的,@org.hibernate.annotations.Entity不是替代品。