As propriedades de configuração do OpenJPA e WebSphere JPA devem ser migradas

Essa regra detecta as propriedades de configuração da JPA 2.0 específicas do fornecedor do OpenJPA e WebSphere no arquivo persistence.xml. Devem-se migrar manualmente essas propriedades para propriedades padronizadas ou do EclipseLink. A regra sinaliza qualquer elemento property com um atributo name que inicia com openjpa.* ou wsjpa.*, exceto para a propriedade openjpa.jdbc.Schema, que é sinalizada por uma propriedade openjpa.jdbc.Schema rule e openjpa.LockManager, que é sinalizada pela regra openjpa.LockManager. As propriedades de configuração wsjpa são específicas para a implementação do WebSphere tradicional e do Liberty JPA 2.0 construída no OpenJPA.

No arquivo persistence.xml a seguir, todos os quatro elementos property são sinalizados por essa regra.

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

Para resolver o problema, mude o nome da propriedade para uma propriedade padronizada quando houver uma disponível.

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

O cache de segundo nível é ativado no EclipseLink por padrão. Se você tiver <property name="openjpa.DataCache" value="true"/> configurado em um persistence-unit, é possível remover essa propriedade. Para obter informações adicionais, veja a regra Desativar o cache de segundo nível da unidade de persistência.

Para obter informações adicionais sobre a migração de propriedades de configuração da JPA específicas do fornecedor, veja os recursos a seguir: