Les propriétés de configuration OpenJPA et WebSphere JPA doivent être migrées

Cette règle détecte les propriétés de configuration OpenJPA and WebSphere d'éditeurs JPA 2.0 spécifiques dans le fichier persistence.xml. Vous devez migrer manuellement ces propriétés vers des propriétés standardisées ou des propriétés EclipseLink. La règle signale tout élément property avec un attribut name commençant par openjpa.* ou wsjpa.*, à l'exception de la propriété openjpa.jdbc.Schema, laquelle est signalée par la règle openjpa.jdbc.Schema, et à l'exception de la propriété openjpa.LockManager, laquelle est signalée par la règle openjpa.LockManager. Les propriétés de configuration wsjpa sont spécifiques à l'implémentation WebSphere Traditional et Liberty JPA 2.0 reposant sur OpenJPA.

Dans le fichier persistence.xml suivant, les quatre éléments property sont tous signalés par cette règle.

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

Pour résoudre ce problème, remplacez le nom de propriété par une propriété standardisée si celle-ci est disponible.

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

Le cache de second niveau est activé par défaut dans EclipseLink. Si <property name="openjpa.DataCache" value="true"/> est défini dans un élément persistence-unit, vous pouvez supprimer cette propriété. Pour plus d'informations, reportez-vous à la règle Désactiver le cache de second niveau de l'unité de persistance.

Pour plus d'informations sur la migration des propriétés de configuration de fournisseur JPA spécifique, reportez-vous aux ressources suivantes :