Nu utilizaţi proprietăţile Kodo

WebLogic a utilizat Kodo pentru implementarea sa de furnizor JPA 1.0. Această regulă detectează utilizarea proprietăţilor kodo.*. Kodo este bazat pe OpenJPA. Similar, OpenJPA a fost furnizorul JAP implicit WebSphere pentru JPA 1.0 şi 2.0. Dar, începând cu JPA 2.1, WebSphere a trecut la EclipseLink ca furnizor său JPA implicit.

Proprietăţi în fişierele Java

Proprietăţile Kodo pot fi specificate într-un fişier Java unde numele proprietăţii este un literal String. Următoarele exemple de cod sunt semnalate:
String var = "kodo.FilterListeners" ;
sau
map.put("kodo.Profiling", "someValue");

Proprietăţi în fişierele persistence.xml

Proprietăţile Kodo pot fi specificate în fişierele persistence.xml, care trebuie să fie localizate în folderul META-INF. De exemplu, este detectată următoarea proprietate în fişierul persistence.xml:
< property name= " kodo.FilterListeners " value="some value " />

Soluţie

Dacă aplicaţia utilizează Kodo, cea mai simplă soluţie de migrare a aplicaţiei este utilizarea JPA 2.0. Utilizarea JPA 2.0 va cere mai puţine modificări ale aplicaţiei decât utilizarea ultimei versiuni JPA, deoarece Kodo se bazează pe OpenJPA, care este aceeaşi implementare care este utilizată de implementarea WebSphere pentru JPA 2.0. Dar, JPA 2.1 sau versiunile ulterioare sunt bazate pe EclipseLink. Diferenţele dintre implementările JPA înseamnă că existe modificări de comportament potenţiale pentru aplicaţie. În plus, proprietăţile disponibile în Kodo s-ar putea să nu aibă proprietăţi echivalente în EclipseLink.
Următoarele recomandări sunt pentru ambele opţiuni de migrare:

Resurse suplimentare: