WebLogic used Kodo for its JPA 1.0 provider implementation. This rule
detects the use of kodo.* properties.
Kodo is based on OpenJPA. Similarly, OpenJPA was the WebSphere
default JPA provider for JPA 1.0 and 2.0. However, starting with JPA
2.1, WebSphere switched to EclipseLink as its default JPA provider.
Kodo properties can be specified in a Java file where the property
name is a String literal. The following
examples of code are flagged:
String
var = "kodo.FilterListeners"
;
or
map.put("kodo.Profiling", "someValue");
Kodo properties can be specified in persistence.xml files, which must
be located in the META-INF folder. For example, the following
property in the persistence.xml file is
detected:
<property name="
kodo.FilterListeners
"
value="some value" />
If your application is using Kodo, the simplest application migration
solution is to use JPA 2.0. Using JPA 2.0 will require less
application changes than using the latest JPA version since Kodo is
based on OpenJPA, which is the same implementation used for the
WebSphere implementation for JPA 2.0. However, JPA 2.1 or later
versions are based on EclipseLink. The differences in JPA
implementations mean that there are potential behavior changes for
the application. In addition, properties available in Kodo might not
have equivalent properties in EclipseLink.
The following
recommendations are for both migration options:
If you are interested in migrating to the latest JPA specification, the migration will require additional planning and investigation. There are several resources available for OpenJPA to EclipseLink migration. Since Kodo is built on OpenJPA, advice that is applicable for OpenJPA will typically apply for Kodo as well. Use the following resources for migration between Kodo/OpenJPA and EclipseLink:
If you are looking for a quicker migration, the simpler solution is
to migrate your application to JPA 2.0. In this case, you can take
advantage of the Kodo to OpenJPA rules and the automated fix that will be
provided.You will need navigate to the rule selection dialog and check the JPA
2.0 category under WebLogic JPA Migration. This will enable the set
of rules that migrate known Kodo classes and properties to OpenJPA.
Also, clear the JPA 2.1 checkbox to disable the JPA 2.1 rules.
After you complete your necessary application changes, configure
your application server to use JPA 2.0 instead of JPA 2.1.