Do not use Kodo properties

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.

Properties in Java Files

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");

Properties in persistence.xml Files

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" />

Solution

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:

Additional Resources: