[英]can we use jpa without hibernate
我是 JPA 的新手。
根據我的理解,JPA 是規范,Hibernate 實現 JPA 並提供附加功能以及 JPA 方法。
但是我正在閱讀 JPA 教程,其中使用EntityManager
對象我們可以對數據執行 CRUD,而無需使用 Hibernate 庫!
所以任何人都可以請讓我知道
EntityManager
方法單獨使用 JPA,而不是使用 Hibernate 嗎?請提及一些有用的鏈接或示例。
非常感謝回應。
謝謝。
你說得對 JPA 是一個規范。 Hibernate 和 EclipseLink 是它的幾個實現。
您必須指定持久性提供程序(Hibernate、EclipseLink)才能使用 JPA 實現。 持久性提供程序具有 JPA 規范的實現類。
如果您不想使用 Hibernate(或任何其他 JPA 提供程序),那么您必須通過提供 javax.persistence.spi.PersistenceProvider 接口的實現來實現您自己的提供程序。 問題是,你為什么需要重新發明輪子? 如果您不喜歡 Hibernate,您可以使用眾多其他 JPA 提供程序之一進行選擇
僅當應用程序服務器已經有 JPA 實現時,JPA 才可以在沒有 JPA 提供程序(又名 Hibernate、EclipseLink 等)的情況下使用。 您很可能在教程中看到過在此類應用程序服務器上執行的演示。
雖然這個線程已經很老了,但我覺得值得分解一下。
JPA:這只是一個規范。 用更簡單的話來說。 接口集。
Hibernate、Eclipse Link: JPA 的眾多實現中的兩個。 除了為 JPA 規范提供基本實現之外,Hibernate 和 Eclipse Link 還提供了它們的附加功能。 您可以根據自己的需要選擇
春季數據:
Maven:
mvn dependency:tree
Gradle:
gradle dependencies
您可以單獨使用 JPA 而不使用 Hibernate,並且 Before 應該了解 Hibernate 與 JPA 之間的要點,如下所示。
休眠
日本特許經營協會
您不能單獨使用 JPA。 JPA 是一種規范,它定義了用於對象-關系映射和管理持久對象的 API,您需要一個 JPA 提供程序來實現它,例如 Hibernate、EclipseLink。
不,您不能單獨使用 JPA 執行 CRUD 操作。 由於 JPA 只是一個規范,您需要實現來執行數據庫操作。 實現由 Hibernate、EclipseLink、Ibatis 等提供。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.