Java 持續性 API (JPA) 特性概觀

您的應用程式可以採用兩種 JPA 特性。jpa-2.0 是以 Apache OpenJPA 開放程式碼專案為建置基礎。jpa-2.1 是以 EclipseLink 開放程式碼專案為建置基礎。

jpa-2.0

WebSphere Application Server Java™ 持續性 API (JPA) 2.0 是以 Apache OpenJPA 2.2.x 開放程式碼專案為建置基礎。

Apache OpenJPA 符合 JPA 1.0 和 2.0 規格的實作標準。WebSphere® Application Server 以 OpenJPA 作為基礎實作,會透過延伸項目,為 WebSphere Application Server 客戶提供更多的特性與公用程式。由於 WebSphere Application Server JPA 是以 OpenJPA 為建置基礎,所有的 OpenJPA 功能、延伸項目和配置,全都不受 WebSphere Application Server 延伸項目的影響。不需變更 OpenJPA 應用程式,就能在 WebSphere Application Server 中使用這些應用程式。

WebSphere Application Server JPA 提供更大的 OpenJPA 相容性。WebSphere Application Server JPA 提供一組工具,可用來開發和部署應用程式。WebSphere Application Server JPA 的其他特性包括:支援 DB2®Optim pureQuery 執行時期、DB2 最佳化、JPA Access Intent、強化追蹤功能、指令 Script,以及轉換的訊息檔案。此產品的 JPA 提供者是 com.ibm.websphere.persistence.PersistenceProviderImpl

Apache OpenJPA 支援使用內容來配置持續性環境。您可以利用 openjpawsjpa 字首,來指定 WebSphere Application Server JPA 的內容。在一般的內容集中,您可以視需要混合使用 openjpawsjpa 字首。打破此規則的是 wsjpa 特定的配置內容,此內容需使用 wsjpa 字首。當 WebSphere Application Server JPA 特定內容與 openjpa 字首搭配使用時,會記載警告訊息,指出該不當的內容被視為 wsjpa 內容。反過來說,對 openjpa 字首卻未必如此。在該情況下,會忽略不當的內容。

jpa-2.1

WebSphere Application Server Java 持續性 API (JPA) 2.1 是以 EclipseLink 開放程式碼專案為建置基礎。EclipseLink 是 JPA 規格所有版本的參照實作。此產品的 JPA 提供者是 org.eclipse.persistence.jpa.PersistenceProvider

JPA 2.1 規格新增了 JPA 2.0 規格所沒有的特性。這些特性包括:

  • 綱目產生
  • 類型轉換方法
  • 查詢和尋找作業中的實體圖形
  • 未同步化的持續性環境定義
  • 儲存程序呼叫
  • 注入至「實體」接聽器類別
  • JPQL 的加強
  • 準則 API 的加強
  • 原生查詢的對映

如需這些特性的詳細資料,請參閱 JPA 2.1 規格。此產品亦提供一部分的 EclipseLink API。請參閱 Java 持續性 API 2.1 Liberty 特性頁面,以取得詳細資料。

註: JPA 2.1 可與 JPA 2.0 相容。

JPA 特性的相容性

jpa-2.0

jpa-2.0 特性是 JPA 2.0 規格的實作,並以 Apache OpenJPA 為基礎。此特性是 Java Platform Enterprise Edition (Java EE) 6 技術系列的一部分,但其特殊之處在於,它與其他的 Java EE 7 特性相容。例如,servlet-3.1 特性是一項 Java EE 7 特性,卻可與 jpa-2.0 特性搭配使用。這可讓應用程式繼續使用現有的 JPA 提供者,卻還能使用新的 Java EE 7 特性。

jpa-2.1

jpa-2.1 特性是 JPA 2.1 規格的實作,並以 EclipseLink 為基礎。此特性只相容於其他 Java EE 7 特性。如果 jpa-2.1 特性與其他 Java EE 6 特性搭配使用,會在 message.log 檔中產生下列錯誤。

CWWKF0033E: 單態特性 com.ibm.websphere.appserver.javaeeCompatible-7.0 和 com.ibm.websphere.appserver.javaeeCompatible-6.0 不能同時載入。所配置的特性 jpa-2.1 和 servlet-3.0 含有一或多個造成衝突的特性。不支援您的配置;請更新 server.xml,以移除不相容的特性。

指示主題類型的圖示 概念主題



「時間戳記」圖示 前次更新: 2016 年 11 月 30 日
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=cwlp_jpa_feat_overview
檔名:cwlp_jpa_feat_overview.html