Hibernate/Toplink相对于JPA有什么优势?

3
据我所知,JPA本身提供了所有亮眼的功能,如ORM、JPQL和实体关系映射等。但是我不太理解,为什么人们要在JPA的基础上使用Hibernate或Toplink。
Hibernate提供了什么JPA本身没有的功能?
2个回答

8

JPA只是一个规范。Hibernate和TopLink是该规范的实现。

此外,JPA规范有点薄弱,它仅提供了Hibernate和TopLink等类似产品所提供功能的子集。有时候需要超越JPA并使用底层实现的专有功能。


2
您应该先将比较对象定为 JPA1,然后再将其与 JPA2(尚未最终确定,但已有规范)进行比较,并查看您想要的应用程序功能是否由 JPA 支持。这是评估是否可以使用纯 JPA 的唯一明智方式。所有持久化技术的实现都有自己的附加组件,可能对您的应用程序非常有意义,但也可能没有。评估您的应用程序中对象之间的关系类型。作为起点,您是否使用接口字段?JPA 不支持基于接口定义的关系。JPA1 不支持 1-N 单向 FK 关系,但在 JPA2 中已支持。
--Andy (DataNucleus)

我正在研究同样的问题。您能否提供(或至少指向在线文档)有关JAP1中您提到的以下两个内容:1)接口定义的关系和2)不支持1-N单向FK关系的信息? - Aravind Yarram
阅读JPA规范可以确认我所说的内容。 - DataNucleus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接