JPA - 架構



Java 永續性 API (JPA) 是一個將業務實體儲存為關係實體的資源。它展示瞭如何定義一個簡單的 Java 物件 (POJO) 作為實體,以及如何管理具有關係的實體。

類級別架構

下圖顯示了 JPA 的類級別架構。它顯示了 JPA 的核心類和介面。

JPA Class Level Architecture

下表描述了上述架構中顯示的每個單元。

單元 描述
EntityManagerFactory 這是 EntityManager 的工廠類。它建立和管理多個 EntityManager 例項。
EntityManager 這是一個介面,它管理物件的持久化操作。它充當 Query 例項的工廠。
實體 (Entity) 實體是持久化物件,儲存在資料庫中的記錄。
EntityTransaction 它與 EntityManager 具有一對一的關係。對於每個 EntityManager,操作由 EntityTransaction 類維護。
Persistence 此類包含用於獲取 EntityManagerFactory 例項的靜態方法。
Query 此介面由每個 JPA 供應商實現,以獲取滿足條件的關係物件。

上述類和介面用於將實體作為記錄儲存到資料庫中。它們透過減少程式設計師編寫資料庫資料儲存程式碼的工作量來幫助程式設計師,以便他們可以專注於更重要的活動,例如編寫將類與資料庫表對映的程式碼。

JPA 類關係

在上圖架構中,類和介面之間的關係屬於 javax.persistence 包。下圖顯示了它們之間的關係。

JPA Class Relationships
  • EntityManagerFactory 和 EntityManager 之間的關係是一對多。它是一個用於建立 EntityManager 例項的工廠類。

  • EntityManager 和 EntityTransaction 之間的關係是一對一。對於每個 EntityManager 操作,都有一個 EntityTransaction 例項。

  • EntityManager 和 Query 之間的關係是一對多。可以使用一個 EntityManager 例項執行多個查詢。

  • EntityManager 和 Entity 之間的關係是一對多。一個 EntityManager 例項可以管理多個 Entity。

廣告