Utiliser des valeurs de propriété OpenJPA au lieu de valeurs de propriété spécifiques à Kodo

WebLogic utilisait Kodo à la place d'OpenJPA pour son implémentation de fournisseur JPA 1.0. Cette règle détecte les valeurs de propriété spécifiques à Kodo dans le fichier persistence.xml, qui doit se trouver dans le dossier META-INF. Le correctif rapide proposé par le scanner de source convertit uniquement les valeurs de propriétés vers OpenJPA. Il existe une règle distincte pour convertir les noms de propriété si nécessaire. Après la conversion, si la valeur convertie est vide, le correctif rapide supprime la propriété.

Le tableau suivant répertorie les valeurs pouvant être converties :
Classe Description
kodo.Log
  • Retire les valeurs Configuration, Remote, Manage et Profile
  • Convertit kodo.* en openjpa.*
kodo.ConnectionFactoryProperties
  • Les valeurs admises sont QueryTimeout, PrettyPrint, PrettyPrintLineLength.
  • Toutes les autres valeurs sont retirées.
kodo.ConnectionFactory2Properties
  • Les valeurs admises sont QueryTimeout, PrettyPrint, PrettyPrintLineLength.
  • Toutes les autres valeurs sont retirées.
kodo.MetaDataFactory
  • Les valeurs admises sont jpa ou org.apache.openjpa.persistence.PersistenceMetaDataFactory.
  • Toutes les autres valeurs sont retirées et remplacées par jpa.
kodo.LockManager
  • Convertit kodo.* en org.apache.openjpa.*
  • Les alias restent identiques.
kodo.OrphanedKeyAction
  • Convertit kodo.* en org.apache.openjpa.*
  • Les alias restent identiques.
kodo.SavepointManager
  • Convertit kodo.* en org.apache.openjpa.*
  • Les alias restent identiques.
kodo.Sequence
  • Convertit kodo.* en org.apache.openjpa.*
  • Les alias restent identiques.
kodo.DataCache
  • Sélectionne uniquement la première entrée de mémoire cache. Les autres entrées sont ignorées.
  • Si la première entrée est paramétrée sur tangosol, lru ou gemfire, la valeur est paramétrée sur "true".
  • Si la première entrée possède plusieurs valeurs, elles sont conservées. Par exemple, true(CacheSize=100).
  • Si la première entrée est "false", cette valeur reste "false".
kodo.QueryCompilationCache
  • La valeur kodo.util.CacheMap est convertie en org.apache.openjpa.util.CacheMap.
  • La valeur java.util.HashMap est convertie en org.apache.openjpa.util.ConcurrentHash.
  • Les alias restent identiques.
kodo.jdbc.DBDictionary
  • Convertit kodo.* en org.apache.openjpa.*
  • Les alias restent identiques.
kodo.jdbc.SchemaFactory
  • Convertit kodo.* en org.apache.openjpa.*
  • Les alias restent identiques.
kodo.jdbc.MappingDefaults
  • La valeur admise est la valeur par défaut.
kodo.ee.ManagedRuntime
  • Convertit kodo.* en org.apache.openjpa.*
  • Les alias restent identiques.

Remarque : WebSphere Traditional version 8.5.5 et Liberty Web Profile 6.0 utilisent OpenJPA pour leur implémentation de JPA 2.0. L'implémentation de JPA 2.1 dans Java EE 7 pour WebSphere Traditional version 9.0 et Liberty utilise EclipseLink.