Właściwości konfiguracji OpenJPA i WebSphere JPA należy poddać migracji

Ta reguła wykrywa właściwości konfiguracji OpenJPA i specyficznej dla dostawcy konfiguracji interfejsu JPA 2.0 dla produktu WebSphere w pliku persistence.xml. Należy te właściwości poddać ręcznej migracji do właściwości standaryzowanych lub obsługiwanych przez implementację EclipseLink. Ta reguła powoduje oznaczenie każdego elementu property z atrybutem name rozpoczynającym się od łańcucha openjpa.* lub wsjpa.* z wyjątkiem właściwości openjpa.jdbc.Schema oznaczanej przez regułę openjpa.jdbc.Schema i właściwości openjpa.LockManager oznaczanej przez regułę openjpa.LockManager. Właściwości konfiguracyjne wsjpa są specyficzne dla implementacji JPA 2.0 serwerów WebSphere traditional i Liberty wbudowanej w interfejs OpenJPA.

W poniższym pliku persistence.xml wszystkie cztery elementy property są oznaczane przez tę regułę.

<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>

Aby rozwiązać ten problem, należy zmienić nazwę właściwości na właściwość standaryzowaną, jeśli taka jest dostępna.

<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>

Pamięć podręczna drugiego poziomu jest w interfejsie EclipseLink włączona domyślnie. Właściwość tę można usunąć, jeśli w elemencie persistence-unit znajduje się ustawienie <property name="openjpa.DataCache" value="true"/>. Więcej informacji na ten temat zawiera reguła Wyłączanie pamięci podręcznej drugiego poziomu jednostki trwałości.

Więcej informacji na temat migrowania właściwości konfiguracyjnych interfejsu JPA specyficznych dla dostawców można znaleźć w następujących zasobach: