Serwer WebLogic używa interfejsu Kodo jako swojej implementacji
technologii JPA 1.0. Ta reguła wykrywa użycie właściwości kodo.*.
Interfejs Kodo jest
oparty na interfejsie OpenJPA. Podobnie interfejs OpenJPA był domyślnym dostawcą technologii
JPA 1.0 i 2.0 w produkcie WebSphere. Jednak począwszy od standardu JPA 2.1, produkt
WebSphere używa interfejsu EclipseLink jako domyślnego dostawcy JPA.
Właściwości interfejsu Kodo mogą być podawane w pliku Java, przy czym nazwa właściwości jest literałem
typu String. Jest oznaczany następujący przykładowy kod:
String var = "kodo.FilterListeners";
lub
map.put("kodo.Profiling", "someValue");
Właściwości interfejsu Kodo mogą być podawane w plikach persistence.xml, które muszą znajdować się w folderze
META-INF. Na przykład następującą właściwość w pliku persistence.xml jest wykrywana:
<property name="kodo.FilterListeners" value="jakaś wartość" />
Jeśli aplikacja używa interfejsu Kodo, najprostszym rozwiązaniem migracji
aplikacji jest użycie interfejsu JPA 2.0. Użycie interfejsu JPA 2.0 będzie wymagać mniejszych
zmian aplikacji niż w przypadku najnowszej wersji technologii JPA, ponieważ interfejs Kodo jest
oparty na interfejsie OpenJPA, który jest także implementacją używaną przez produkt WebSphere na
potrzeby
obsługi interfejsu JPA 2.0. Jednak implementacja JPA 2.1 i nowsze są oparte na interfejsie
EclipseLink. Różnice w implementacjach standardu JPA oznaczają, że istnieje możliwość wystąpienia
zmian w zachowaniu aplikacji. Ponadto właściwości dostępne w interfejsie Kodo mogą nie mieć odpowiadających
właściwości w interfejsie EclipseLink.
Następujące zalecenia dotyczą obu opcji migracji:
Jeśli użytkownik jest zainteresowany migracją do najnowszej specyfikacji standardu JPA, migracja będzie wymagać dodatkowego planowania i analiz. Jest dostępnych kilka zasobów dotyczących migracji z interfejsu OpenJPA do interfejsu EclipseLink. Ponieważ interfejs Kodo jest oparty na interfejsie OpenJPA, porady dotyczące interfejsu OpenJPA zwykle stosują się także do interfejsu Kodo. Informacje na temat migracji z interfejsu Kodo/OpenJPA do interfejsu EclipseLink zawierają następujące artykuły:
Jeśli celem jest szybsza migracja, prostsze rozwiązanie to
migracja aplikacji do interfejsu JPA 2.0. W takim przypadku można skorzystać z reguł i
szybkich poprawek dla migracji z interfejsu Kodo do interfejsu OpenJPA udostępnianych przez skaner
kodu źródłowego. Aby włączyć reguły standardu JPA 2.0 w skanerze kodu źródłowego, należy
przejść do okna dialogowego wyboru reguł i zaznaczyć kategorię interfejsu JPA 2.0 w obszarze
Migracja interfejsu JPA serwera WebLogic. Spowoduje to włączenie zestawu reguł migrujących
znane klasy i właściwości interfejsu Kodo do interfejsu OpenJPA.
Należy także usunąć
zaznaczenie
pola wyboru JPA 2.1 w celu wyłączenia reguł dotyczących standardu JPA 2.1.
Po wprowadzeniu niezbędnych zmian w aplikacji należy skonfigurować serwer aplikacji pod kątem
używania standardu JPA 2.0 zamiast JPA 2.1.