<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hant-TW">
	<id>https://wiki.taigi.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=Java%E7%B6%AD%E6%8C%81%E4%B9%85%E5%8C%96API</id>
	<title>Java維持久化API - 修訂紀錄</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.taigi.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=Java%E7%B6%AD%E6%8C%81%E4%B9%85%E5%8C%96API"/>
	<link rel="alternate" type="text/html" href="https://wiki.taigi.ima.org.tw/w/index.php?title=Java%E7%B6%AD%E6%8C%81%E4%B9%85%E5%8C%96API&amp;action=history"/>
	<updated>2026-04-13T08:13:52Z</updated>
	<subtitle>本 wiki 上此頁面的修訂紀錄</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.taigi.ima.org.tw/w/index.php?title=Java%E7%B6%AD%E6%8C%81%E4%B9%85%E5%8C%96API&amp;diff=373519&amp;oldid=prev</id>
		<title>TaiwanTonguesApiRobot：​從 JSON 檔案批量匯入</title>
		<link rel="alternate" type="text/html" href="https://wiki.taigi.ima.org.tw/w/index.php?title=Java%E7%B6%AD%E6%8C%81%E4%B9%85%E5%8C%96API&amp;diff=373519&amp;oldid=prev"/>
		<updated>2025-08-22T05:04:32Z</updated>

		<summary type="html">&lt;p&gt;從 JSON 檔案批量匯入&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Java 維持久化 API&amp;#039;&amp;#039;&amp;#039;(&amp;#039;&amp;#039;&amp;#039;JPA&amp;#039;&amp;#039;&amp;#039;) 是一个 Java 應用程式接口規範，描述了使用 Java 標準版予平台（Java SE）  和 Java 企業版平台（Java EE）的應用中的關係數據的管理。&lt;br /&gt;
&lt;br /&gt;
維持久化，佇遮包括三个層面的意思：&lt;br /&gt;
&lt;br /&gt;
* API  本身，定義佇咧 javax . persistence 揹仔內&lt;br /&gt;
* Java 久化查詢語言 ( JPQL )&lt;br /&gt;
* 對象 / 關係元數據&lt;br /&gt;
&lt;br /&gt;
JPA 的參考實現是 EclipseLink。&lt;br /&gt;
&lt;br /&gt;
==歷史背景==&lt;br /&gt;
&lt;br /&gt;
二空空六年五月十一號，JPA 一鋪零規範作為 JCP JSR 二百二十最終被發布。JPA 二鋪零規範，佇二空空九年十二月發布（Java EE 六平台，依賴佇咧 JPA 二孵空。） JPA 二嬸一規範，佇二空一三年四月二二發布（Java EE 七平台，依賴佇咧 JPA 二嬸一。）&lt;br /&gt;
&lt;br /&gt;
==實體==&lt;br /&gt;
&lt;br /&gt;
久化實體是一个輕量級的 Java 類，其狀態通常持久的保存到關係資料庫的表中。  這種實體的實例對應該表中的各行。  實體之間通常有關係，這關係通過對象 / 關係元數據表示。  會當佇實體類文件中直接使用注釋來指定這種關係，嘛會當隨應用程式分發的單獨 XML 描述文件當中指定。&lt;br /&gt;
&lt;br /&gt;
==Java 久化查詢語言（JPQL）==&lt;br /&gt;
&lt;br /&gt;
Java 久化查詢語言  （JPQL）對存儲佇關係資料庫內底的實體進行查詢。查詢在語法頂懸類似 SQL 查詢，但是操作的是實體對象毋是直接對資料庫表進行操作。&lt;br /&gt;
&lt;br /&gt;
==動機==&lt;br /&gt;
&lt;br /&gt;
咧引入 EJB 三更零規範進前，真濟企業級 Java 開發人員使用由久化框殼（比如講 Hibernate）抑是數據訪問的對象（DAO）提供的輕量級持久化對象，來代替實體 bean（EJB 的一種）。   這是因為佇咧較早的 EJB 規範當中，實體 bean 需要傷濟複雜的代碼佮繁重的資源占用，並且因為 bean 和 DAO 對象抑是繼續化框內底的原始碼中的互相連和依賴性，𪜶干焦會當佇 Java EE 應用程式侍服器使用。  所以，上頭先佇第三方持久性框殼內底提供的真濟功能攏予人合併著 Java Persistence API 中，而且對二空空六年開始，像 Hibernate（版本三更二）和 TopLink Essentials 按呢的項目已經實現 Java Persistence API 規範。&lt;br /&gt;
&lt;br /&gt;
==相關技術==&lt;br /&gt;
&lt;br /&gt;
===企業 JavaBeans（EJB）===&lt;br /&gt;
&lt;br /&gt;
EJB 三更零規範（本身是 Java EE 五平台的一部份）包含 Java 維持久化 API 的定義。  毋管按怎，終端用戶無需要 EJB 容器抑是 Java EE 應用程式侍服器就會當使用這久性 API 的應用程式。 Java 維持久化 API 的未來版本欲佇單獨的 JSR 佮規範中定義，毋是咧 EJB JSR / 規範中定義。&lt;br /&gt;
&lt;br /&gt;
Java 維持久化 API 取代矣 EJB 二孵空 CMP（提久化管理容器）的久性解決方案&lt;br /&gt;
&lt;br /&gt;
===Java 數據對象的 API===&lt;br /&gt;
&lt;br /&gt;
Java 維持久化 API 成做統一 Java Data Objects API 和 EJB 二嬸空容器管理持久性（CMP）API 的一部份來開發。截至二空空九年，支持這个 API 的大多數產品攏支持 Java 維持久化 API。&lt;br /&gt;
&lt;br /&gt;
Java 維持久化 API 干焦關係資料庫管理系統提供持久化特性。也就是講，JPA 專注於對象關係映射（ORM）（請注意，除了關係資料庫以外，閣有 JPA 提供程式的支持其他的資料庫模型，但是這超出矣 JPA 的設計範圍）。 有關 JPA 角色的說明，請參閱 JPA 二規範第一節簡介，其中非常的清楚來說明「這項工課的技術目標是為 Java 應用程式開發人員提供一个對象 / 關係映射工具，使用 Java 領域模型來管理關係資料庫。」&lt;br /&gt;
&lt;br /&gt;
Java 數據對象規範的支持 ORM，佮對其他類型的資料庫模型的維持久化，比如講平面文件資料庫佮 NoSQL 資料庫，包括文檔資料庫，圖形資料庫，以及字面上任何其他會使想著的數據存儲。&lt;br /&gt;
&lt;br /&gt;
===服務數據對象 API===&lt;br /&gt;
&lt;br /&gt;
Java 維持久化 API 的設計者旨咧提供關係提供久化，其中真濟關鍵領域來自對象關係影射工具，如 Hibernate 和 TopLink。Java 維持久化 API 改進並取代矣 EJB 二孵空，其體這馬 EJB 三-c空中。服務數據對象（SDO）API（JSR 兩百三十五）佮 Java 維持久化 API 有著截然無仝的目標，予人認為講是互補的。SDO API 閣專工面向服務的體系結構，多種數據格式非關係數據佮多種程式語言設計設計。JCP 管理 SDO API 的 Java 版本；SDO API 的 C + + 版本通過 OASIS 進行管理。&lt;br /&gt;
&lt;br /&gt;
===Hibernate===&lt;br /&gt;
&lt;br /&gt;
Hibernate 為 Java 提供一个開源的對象關係影射框架。版本三更加懸版本提供了 Java 維持久化 API 的實現。Gavin King 創立了 Hibernate 項目。伊代表 JBoss 參加喔 JSR 兩百二十，這是負責開發 JPA 的 JCP 專家組。這引發了箍圍仔 JPA 和 Hibernate 之間關係的繼續爭議佮臆測。Sun Microsystems 表示，遮的想法來自幾个框殼，包括講 Hibernate 和 Java 數據對象。&lt;br /&gt;
&lt;br /&gt;
===Spring Data JPA===&lt;br /&gt;
&lt;br /&gt;
抽象存儲庫的實現是 Java 應用程式框殼 Spring 領域驅動設計的關鍵構建塊。透明的支持所有可用的 JPA 實現，並支持 CRUD 操作猶閣有方便地執行資料庫查詢。&lt;br /&gt;
&lt;br /&gt;
==JPA 二孵空==&lt;br /&gt;
&lt;br /&gt;
二空空七年七月，JPA 二嬸零佇咧 JCP 的 JSR 三百十七个請求中作為新版本開發。二空空九年十二月十號，JPA 強欲消息去予批准為最終正式標準。JPA 二嬸零的重點是提供一寡流行的 ORM 供應商中存在的特性，猶毋過佇 JPA 一丈空中一致著一致認可。&lt;br /&gt;
&lt;br /&gt;
主要特性包括：&lt;br /&gt;
&lt;br /&gt;
* 擴大的對象關係功能的映射&lt;br /&gt;
* 支持內嵌的對象的收集，通過加對一的關係影射來連接 ORM&lt;br /&gt;
* 有序列表&lt;br /&gt;
* 訪問類型的組合&lt;br /&gt;
* 一種標準查詢 API&lt;br /&gt;
* 標準化的 SQL 提示&lt;br /&gt;
* 標準化的附加元數據，以支持 DDL 生成&lt;br /&gt;
* 支持驗證&lt;br /&gt;
* 支持共享對象的高速緩存。&lt;br /&gt;
&lt;br /&gt;
支持 JPA 二嬸零的供應商 :&lt;br /&gt;
&lt;br /&gt;
* Batoo JPA&lt;br /&gt;
* DataNucleus ( formerly JPOX )&lt;br /&gt;
* EclipseLink ( formerly Oracle TopLink )&lt;br /&gt;
* IBM , for WebSphere Application Server&lt;br /&gt;
* JBoss with Hibernate&lt;br /&gt;
* Kundera&lt;br /&gt;
* ObjectDB&lt;br /&gt;
* OpenJPA&lt;br /&gt;
* OrientDB from Orient Technologies&lt;br /&gt;
* Versant Corporation JPA ( not relational , object database )&lt;br /&gt;
&lt;br /&gt;
==JPA 二嬸一==&lt;br /&gt;
&lt;br /&gt;
二空一一年七月，JPA 二嬸一佇 JCP 的 JSR 三百三十八請求中作為新版本開發。二空一三年五月二二，JPA 二嬸一被批准為最終正式標準。&lt;br /&gt;
&lt;br /&gt;
主要特性包括：&lt;br /&gt;
&lt;br /&gt;
* 轉換器-允准自定義的代碼去裝換無仝的資料庫佮數據類型。&lt;br /&gt;
* 標準 Update / Delete-允准通過標準 API 批量閣較新佮刣掉。&lt;br /&gt;
* 實體圖表-允准得著部份抑是合併的對象。&lt;br /&gt;
* JPQL / 標準增強-算子查詢，通用資料庫的功能，Join 聯合查詢，TREAT 選項。&lt;br /&gt;
* 模式生成&lt;br /&gt;
* 儉過程，允准查詢被定義做資料庫的存儲過程。&lt;br /&gt;
&lt;br /&gt;
支持 JPA 二嬸一的供應商 :&lt;br /&gt;
&lt;br /&gt;
* DataNucleus&lt;br /&gt;
* EclipseLink&lt;br /&gt;
* Hibernate&lt;br /&gt;
&lt;br /&gt;
==JPA 二嬸二==&lt;br /&gt;
&lt;br /&gt;
二空一七年乎，JPA 二嬸二佇咧 JCP 的 JSR 三百三十八要求中作為維護版本發佈開發。維護審查已經佇二空一七年六月十九得著批准。&lt;br /&gt;
&lt;br /&gt;
主要特性包括：&lt;br /&gt;
&lt;br /&gt;
* 予所有的注釋添加 @ Repeatable&lt;br /&gt;
* 允准所有 JPA 釋心通用於元的注釋。&lt;br /&gt;
* 添加查詢結果流處理能力&lt;br /&gt;
* 容允 AttributeConverters 的 CDI 注入&lt;br /&gt;
* 支持 Java 白日期佮時間類型支持 JPA 二嬸二的供應商 :&lt;br /&gt;
&lt;br /&gt;
* DataNucleus&lt;br /&gt;
* EclipseLink ( from version 二嬸七 )&lt;br /&gt;
* Hibernate ( from version 五孵三 )&lt;br /&gt;
&lt;br /&gt;
==JPA 未來做工課==&lt;br /&gt;
&lt;br /&gt;
未來的 JPA 規範信息會當佇遮得著：&lt;br /&gt;
&lt;br /&gt;
* JPA Specification Mailing Lists&lt;br /&gt;
* JPA Specification JIRA&lt;br /&gt;
&lt;br /&gt;
二空一五年十一月，Linda DeMichiel 佇咧 javaee-spec 用戶郵件中宣佈 Lukas Jungmann 接任規範化主管。Linda 伊聲明閣表示，「 計畫咧 Java EE 八時間框內底為 JPA 二嬸二做 MR」。&lt;br /&gt;
&lt;br /&gt;
==工具==&lt;br /&gt;
&lt;br /&gt;
* NetBeans Jeddict&lt;br /&gt;
* Eclipse JPA ( Dali )&lt;br /&gt;
&lt;br /&gt;
==參見==&lt;br /&gt;
&lt;br /&gt;
* . NET Persistence API ( NPA )&lt;br /&gt;
* JDBC&lt;br /&gt;
* MyBatis&lt;br /&gt;
* OpenXava&lt;br /&gt;
* pureQuery&lt;br /&gt;
* SAP NetWeaver Application Server&lt;br /&gt;
* XQJ&lt;br /&gt;
* ObjectiveSql&lt;br /&gt;
&lt;br /&gt;
==參考文獻==&lt;br /&gt;
&lt;br /&gt;
==外部連結==&lt;br /&gt;
&lt;br /&gt;
===一般信息===&lt;br /&gt;
&lt;br /&gt;
* Documentation for the final version of the EJB 三 spec ( called JSR 兩百二十 )&lt;br /&gt;
* GlassFish&amp;#039;s Persistence pageArchive . is 的存檔，存檔日期兩千空一十三石一鋪十二&lt;br /&gt;
* JCP Persistence page&lt;br /&gt;
&lt;br /&gt;
===教程===&lt;br /&gt;
&lt;br /&gt;
* Java EE 六 Persistence API Javadoc&lt;br /&gt;
* Java EE 六 Persistence API tutorial&lt;br /&gt;
* Java EE 七 Persistence API Javadoc&lt;br /&gt;
* Java EE 七 Persistence API tutorial&lt;br /&gt;
* JPA Tutorial by Prasad Kharkar&lt;br /&gt;
* JPA Tutorial from Java Code Geeks&lt;br /&gt;
* JPA Tutorial using OpenJPA as implementation&lt;br /&gt;
* Persistence in the Java EE 五 tutorial&lt;br /&gt;
&lt;br /&gt;
[[分類: 待校正]]&lt;/div&gt;</summary>
		<author><name>TaiwanTonguesApiRobot</name></author>
	</entry>
</feed>