JPA

Java Persistence API

是一種標準,JPA並未提供ORM實現,而是為 ORM 訂定了規範。

提供了介面(即為 JPA 的標準),使得各家廠商可以透過 ORM 框架實作

開始之前

在 JDK 5.0 引入了 Annotation 註解的概念,ORM框架實作時相對也提供了 XML 描述檔配置。

出現原因

  • 簡化現有 Java EE 和 Java SE 應用的物件持久化的開發工作。

  • Sun希望以官方身份來統一各種ORM框架的規範。

與 Hibernate ORM 框架的實現關係

Hibernate是框架,JPA是持久化規範,而 Hibernate 實現了JPA。

Hibernate Annotation

Hibernate 支援 annotation配置的基礎,包括標準 JPA 註解及 Hibernate 自身特殊功能註解。

對應:

JPA 的 EntityManagerFactory 相當於 Hibernate 的 SessionFactory

JPA 的 EntityManager 相當於 Hibernate 的 Session

Hibernate EntityManager

實作了標準的 JPA,不直接提供ORM的功能,即 Hibernate-core 的功能,而是對其封裝

使得 Hibernate 符合 JPA 的規範。

JpaSpecificationExecutor

https://github.com/tkaczmarzyk/specification-arg-resolver

參考資料

https://www.itread01.com/content/1547175259.html

Last updated

Was this helpful?