EclipseLink にマイグレーションする場合、persistence.xml ファイルで OpenJPA プロバイダーを使用してはなりません。EclipseLink で OpenJPA プロバイダーを使用すると、ランタイム・エラーが生じます。このようなエラーを解決するには、クイック・フィックスを使用してフラグが立てられた OpenJPA プロバイダーを persistence.xml ファイルから削除するか、OpenJPA プロバイダーを適切な EclipseLink プロバイダーに置き換えます。
例えば、この規則は persistence.xml ファイル内の以下の OpenJPA プロバイダーにフラグを立てます。
<persistence-unit name="JPAService" > <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider> <jta-data-source>java:comp/env/jdbc/DB2Connection</jta-data-source> <class>my.jpa.Account</class> </persistence-unit> |
以下の例は、自動化フィックスが persistence.xml ファイルを変更する方法を示しています。
<persistence-unit name="JPAService" > <jta-data-source>java:comp/env/jdbc/DB2Connection</jta-data-source> <class>my.jpa.Account</class> </persistence-unit> |
あるいは、以下の例に示すように、EclipseLink プロバイダーを指定してこの問題を手動で修正することもできます。
<persistence-unit name="JPAService" > <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> <jta-data-source>java:comp/env/jdbc/DB2Connection</jta-data-source> <class>my.jpa.Account</class> </persistence-unit> |
カスタム構成をアプリケーション・ビルド・ファイルにコピーして、フィックスの自動化を有効にします。
この OpenJPA から EclipseLink へのマイグレーションの問題については、 Migration from OpenJPA to EclipseLink: Persistence XML ガイドを参照してください。