Ne pas utiliser de propriétés Kodo

WebLogic utilisait Kodo pour son implémentation de fournisseur JPA 1.0. Cette règle détecte l'utilisation de propriétés kodo.*. Kodo repose sur OpenJPA. De même, OpenJPA était le fournisseur JPA par défaut de WebSphere pour JPA 1.0 et 2.0. Cependant, depuis JPA 2.1, WebSphere utilise EclipseLink comme fournisseur JPA par défaut.

Propriétés dans les fichiers Java

Des propriétés Kodo peuvent être spécifiées dans un fichier Java, où le nom de propriété est un littéral chaîne. Les exemples de code suivants sont marqués :
String var = "kodo.FilterListeners" ;
ou
map.put("kodo.Profiling", "someValue");

Propriétés dans les fichiers persistence.xml

Des propriétés Kodo peuvent être spécifiées dans des fichiers persistence.xml, qui doivent se trouver dans le dossier META-INF. Par exemple, la propriété suivante dans le fichier persistence.xml est détectée :
< property name= " kodo.FilterListeners " value="valeur " />

Solution

Si votre application utilise Kodo, la solution de migration d'application la plus simple consiste à utiliser JPA 2.0. L'utilisation de JPA 2.0 exige moins de modifications de l'application que l'utilisation de la version la plus récente de JPA car Kodo repose sur OpenJPA, qui est l'implémentation utilisée pour l'implémentation WebSphere pour JPA 2.0. Toutefois, les versions 2.1 et ultérieures de JPA reposent sur EclipseLink. Les différences dans les implémentations JPA impliquent que le comportement peut être différent pour l'application. De plus, il se peut que les propriétés disponibles dans Kodo n'aient pas de propriétés équivalentes dans EclipseLink.
Les recommandations suivantes concernent les deux options de migration :

Ressources complémentaires :