JPA架構

JPA(Java持久性API)是存儲業務實體關聯的實體的來源。它顯示瞭如何定義一個面向普通Java對象(POJO)作爲一個實體,以及如何與管理關係實體。

類級別架構

下圖顯示了JPA的類的層次結構。它顯示核心類和JPA接口。

JPA

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

單元

描述

EntityManagerFactory

這是一個EntityManager的工廠類。它創建並管理多個EntityManager實例。

EntityManager

這是一個接口,它管理的持久化操作的對象。它的工作原理類似工廠的查詢實例。

Entity

實體是持久性對象是存儲在數據庫中的記錄。

EntityTransaction

它與EntityManager是一對一的關係。對於每一個EntityManager,操作是由EntityTransaction類維護。

Persistence

這個類包含靜態方法來獲取EntityManagerFactory實例。

Query

該接口由每個JPA供應商,能夠獲得符合標準的關係對象。

上述的類和接口用於存儲實體到數據庫的一個記錄。幫助程序員通過減少自己編寫代碼將數據存儲到數據庫中,使他們能夠專注於更重要的業務活動代碼,如 數據庫表映射的類編寫代碼。

JPA類關係

在上述體系結構中,類和接口之間的關係屬於javax.persistence包。下圖顯示了它們之間的關係。  

JPA

  • EntityManagerFactory和EntityManager的關係是1對多。這是一個工廠類EntityManager實例。

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

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

  • EntityManager實體之間的關係是1對多。一個EntityManager實例可以管理多個實體。