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
參考資料
Last updated
Was this helpful?