text: Java 持久化 API (JPA)是一個 Java 應用程式介面 規範，描述了使用 Java標準版平臺的應用中的 關係資料 的管理。持久化，在這裡包括三個層面的意思：JPA 的 參考實現 是 。歷史背景.2006年5月11號，JPA 1.0 規範作為 JCP JSR 220 的一部分最終被髮布。JPA 2.0 規範，在2009年12月釋出實體.持久化實體是一個輕量級的 Java 類，其狀態通常持久地儲存到關係資料庫的表中。 這種實體的例項對應於表中的各個行。 實體之間通常有關係，這些關係透過物件/關係元資料表示。 可以在實體類檔案中直接使用註釋來指定這種關係，也可以在隨應用程式分發的單獨XML描述檔案中指定。Java 持久化查詢語言.Java持久化查詢語言 對儲存在關係資料庫中的實體進行查詢。查詢在語法上類似於SQL查詢，但是操作的是實體物件而不是直接對資料庫表進行操作。動機.在引入EJB 3.0規範之前，許多企業級Java開發人員使用由持久化框架和TopLink Essentials這樣的專案已經實現Java Persistence API規範。相關技術.企業 JavaBeans.EJB 3.0規範包含Java 持久化 API的定義。 無論如何，終端使用者不需要EJB容器或Java EE應用程式伺服器即可執行使用此永續性API的應用程式。 Java 持久化 API的未來版本將在單獨的JSR和規範中定義，而不是在EJB JSR /規範中定義。Java 持久化 API取代了EJB 2.0 CMP的永續性解決方案Java資料物件的API.Java 持久化 API作為統一Java Data Objects API和EJB 2.0容器管理永續性API的一部分來開發。截至2009年，支援這些API的大多數產品都支援Java 持久化 API。Java 持久化 API僅為關係資料庫管理系統提供持久化特性。也就是說，JPA專注於物件關係對映。有關JPA角色的說明，請PA 2規範第1節簡介，其中非常清楚地說明“這項工作的技術目標是為Java應用程式開發人員提供一個物件/關係對映工具，使用Java領域模型來管理關係資料庫。”Java 資料物件規範支援ORM，以及對其他型別的資料庫模型的持久化，例如平面檔案資料庫和NoSQL資料庫，包括文件資料庫，圖形資料庫，以及字面上任何其他可想到的資料儲存。服務資料物件 API.Java 持久化 API的設計者旨在提供關係持久化，其中許多關鍵領域來自物件關係對映工具，如Hibernate和TopLink。Java 持久化 API改進並取代了EJB 2.0，其體現在EJB 3.0中。服務資料物件與Java 持久化 API有著截然不同的目標，被認為是互補的。 SDO API專為面向服務的體系結構，多種資料格式而非關係資料和多種程式語言而設計。JCP 管理SDO API的Java版本; SDO API的C ++版本透過OASIS進行管理。Hibernate.Hibernate為Java提供了一個開源的物件關係對映框架。版本3.2及更高版本提供了Java 持久化 API的實現。Gavin King創立了Hibernate專案。他代表JBoss參加JSR 220，這是負責開發JPA的JCP專家組。這引發了圍繞JPA和Hibernate之間關係的持續爭議和猜測。Sun Microsystems表示，這些想法來自幾個框架，包括Hibernate和Java 資料物件。Spring Data JPA.抽象儲存庫的實現是Java應用程式框架Spring的領域驅動設計的關鍵構建塊。透明地支援所有可用的JPA實現，並支援CRUD操作以及方便地執行資料庫查詢。JPA 2.0.2007年7月，JPA 2.0 在JCP的JSR 317請求中作為新版本開發。2009年12月10日，JPA 2.0被批准為最終正式標準。JPA 2.0的重點是提供一些流行的ORM供應商中存在的特性，但在JPA 1.0中不能獲得一致認可。主要特性包括：支援 JPA 2.0 的供應商:JPA 2.1.2011年7月，JPA 2.1 在JCP的JSR 338請求中作為新版本開發。2013年5月22日，JPA 2.1被批准為最終正式標準。主要特性包括：支援 JPA 2.1 的供應商:JPA 2.2.2017年，JPA 2.2 在JCP的JSR 338請求中作為維護版本釋出開發。維護審查已於2017年6月19日獲得批准。主要特性包括：支援 JPA 2.2 的供應商:JPA 未來工作.未來的JPA規範資訊可在此處獲得：2015年11月，Linda DeMichiel在javaee-spec使用者郵件中宣佈Lukas Jungmann接任規範化主管。Linda的宣告還表示，“計劃在Java EE 8時間框架內為JPA 2.2做MR”。
metadata: erhwenkuo/wikipedia-zhtw
metadata: Java持久化API
metadata: https://zh.wikipedia.org/wiki?curid=6238781