12.3.5 JPAの変更点
(1) CJPAプロバイダの廃止
従来のCJPAプロバイダは,JPA 2.1 APIに対応していないため使用できません。代わりに,アプリケーションサーバ Version 11およびDeveloper Version 11では,JPA 2.1をサポートするJPAプロバイダを新たに提供しています。しかし,従来のCJPAプロバイダで提供していたCosminexus独自機能は使用できません。次に示すパラメタは,指定されていても無視されます。
-
persistence.xmlの<property>タグに指定する「cosminexus.jpa」で始まるプロパティ
-
J2EEサーバ用ユーザプロパティファイルに指定する「cosminexus.jpa」で始まるキー
-
Smart Composer機能で論理J2EEサーバに指定する「cosminexus.jpa」で始まるパラメタ
(2) コンテナ管理の永続化ユニット/永続化コンテキストの使用不可
アプリケーションサーバ Version 11およびDeveloper Version 11のJPA 2.1サポート範囲では,JPAコンテナ機能をサポートしていません。そのため,次のAPIやDDの要素を使用してコンテナ管理の永続化ユニットや永続化コンテキストを取得することを前提としているアプリケーションは移行できません。
-
javax.persistence.PersistenceUnitアノテーション
-
javax.persistence.PersistenceContextアノテーション
-
DDの<persistence-unit-ref>要素
-
DDの<persistence-context-ref>要素
また,次に示すパラメタは指定できません。
-
J2EEサーバ用ユーザプロパティファイルに指定する「ejbserver.jpa」で始まるキー
-
Smart Composer機能で論理J2EEサーバに指定する「ejbserver.jpa」で始まるパラメタ
EntityManagerFactoryオブジェクトの取得は,アプリケーション管理の永続化ユニットで代替できます。JPA 2.1仕様に従い,次のような実装例でEntityManagerFactoryオブジェクトを取得してください。
EntityManagerFactory factory = Persistence.createEntityManagerFactory("<永続化ユニット名>"); EntityManager manager = factory.createEntityManager();
(3) 永続化先としてサポートされるデータベースの変更
アプリケーションサーバ Version 11およびDeveloper Version 11のJPA 2.1サポート範囲では,永続化先として使用可能なデータベースは次の製品だけです。
-
HiRDB Version 10
それ以外のデータベースへの永続化が必要な場合は,JPA 2.1と永続化先データベースに対応したJPAプロバイダライブラリ※を用意し,CosminexusのJPA 2.1プロバイダの代わりにクラスパスに追加して使用してください。
- 注※
-
EclipseLink,Hibernate JPAなど