OpenJPA および WebSphere JPA 構成プロパティーはマイグレーションする必要がある

この規則は、persistence.xml ファイル内の OpenJPA および WebSphere ベンダー固有の JPA 2.0 構成プロパティーを検出します。これらのプロパティーを標準化されたプロパティーまたは EclipseLink プロパティーに手動でマイグレーションする必要があります。 この規則は、name 属性の先頭が openjpa.* または wsjpa.*property エレメントにフラグを立てます。ただし、openjpa.jdbc.Schema 規則でフラグが立てられる openjpa.jdbc.Schema プロパティーと、openjpa.LockManager 規則でフラグが立てられる openjpa.LockManager プロパティーは除きます。 wsjpa 構成プロパティーは、OpenJPA でビルドされた WebSphere traditional および Liberty JPA 2.0 実装に固有のものです。

以下の persistence.xml ファイルでは、この規則によって 4 つすべての property エレメントにフラグが立てられます。

<persistence>
  <persistence-unit name="openjpa">
    <properties>
      ...
      <property name="openjpa.ConnectionURL "
                   value="jdbc:db2://host.ibm.com:50000/mydb2user" />
      <property name="openjpa.ConnectionDriverName" value="com.ibm.db2.jcc.DB2Driver" />
      <property name="openjpa.ConnectionUserName" value="mydb2user" />
      <property name="openjpa.ConnectionPassword" value="password" />      
      ...
    </properties>
  </persistence-unit>
</persistence>

この問題を解決するには、プロパティー名を標準化されたプロパティーに変更します (標準化されたプロパティーが使用可能な場合)。

<persistence>
  <persistence-unit name="openjpa">
    <properties>
      ...   
      <property name="javax.persistence.jdbc.url"
                   value="jdbc:db2://host.ibm.com:50000/mydb2user" />
      <property name="javax.persistence.jdbc.driver" value="com.ibm.db2.jcc.DB2Driver" />
      <property name="javax.persistence.jdbc.user" value="mydb2user" />
      <property name="javax.persistence.jdbc.password" value="password" />
      ...
    </properties>
  </persistence-unit>
</persistence>

EclipseLink では、第 2 レベル・キャッシュはデフォルトで有効になります。 persistence-unit<property name="openjpa.DataCache" value="true"/> が設定されている場合、このプロパティーを削除できます。 詳しくは、規則『パーシスタンス・ユニットの第 2 レベル・キャッシュは無効にしなければならない』を参照してください。

ベンダー固有の JPA 構成プロパティーのマイグレーションについて詳しくは、以下のリソースを参照してください。