Nie używaj właściwości interfejsu Kodo

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 w plikach Java

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 w plikach persistence.xml

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="pewna wartość " />

Rozwiązanie

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:

Dodatkowe zasoby: