2009-10-01 48 views
3

據我所知,JPA本身提供了所有有光澤的功能,如ORM,JPQL,實體關係映射等等。但我不太明白,爲什麼人們在JPA之上使用Hibernate或Toplink。Hibernate/Toplink在JPA上面提供什麼?

Hibernate提供的JPA本身沒有的功能是什麼?

回答

8

JPA只是一個規範。 Hibernate和TopLink是該規範的實現。另外,JPA規範有點弱,只提供了Hibernate和TopLink提供的功能的一個子集。有時需要或有必要超越JPA並使用底層實現的專有特性。

2

您應該對JPA1進行比較,然後針對JPA2(尚未最終確定,但有一個規範),並查看應用程序中想要查看JPA是否不支持的功能。這是評估您是否可以使用純JPA的唯一明智方式。持久性技術的所有實現都有自己的附加組件,這些附加組件可能對應用程序有很大的意義,但它們可能不會。評估您的應用程序,瞭解對象之間的關係類型。爲了讓你開始,你使用接口的領域? JPA不支持接口定義的關係。 JPA1不支持1-N uni dir FK關係,但這是JPA2。

- 安迪(DataNucleus

+0

我正在研究相同的。您能否就以下兩件事提供(或至少指向我的在線文檔):1)接口定義的關係和2)不支持1-N單向的FK關係 – 2010-09-14 22:18:03

+0

閱讀JPA規範(s )會證實我所說的。 – DataNucleus 2010-09-20 07:56:24

相關問題