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 persistence.xml qui doit se trouver dans le dossier META-INF, qui doit être situé dans le dossier META-INF.

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.