不要使用 Kodo 內容

WebLogic 使用 Kodo 進行其 JPA 1.0 提供者實作。此規則會偵測是否使用 kodo.* 內容。Kodo 是以 OpenJPA 為基礎。同樣地,OpenJPA 也是 JPA 1.0 及 2.0 的 WebSphere 預設 JPA 提供者。但是,從 JPA 2.1 開始,WebSphere 已切換至 EclipseLink 作為其預設 JPA 提供者。

Java 檔中的內容

在 Java 檔中內容名稱為字串文字的位置可以指定 Kodo 內容。會標示下列程式碼範例:
String var = "kodo.FilterListeners" ;

map.put("kodo.Profiling", "someValue");

persistence.xml 檔中的內容

在 persistence.xml 檔(必須位於 META-INF 資料夾)中可以指定 Kodo 內容。例如,會偵測到 persistence.xml 檔中的下列內容:
<property name=" kodo.FilterListeners " value="some value " />

解決方案

如果您的應用程式是使用 Kodo,最簡單的應用程式移轉解決方案是使用 JPA 2.0。相較於使用最新的 JPA 版本,使用 JPA 2.0 將需要較少的應用程式變更,因為 Kodo 是以 OpenJPA 為基礎,而此實作與用於 JPA 2.0 的 WebSphere 實作相同。但是,JPA 2.1 或更新版本是以 EclipseLink 為基礎。這些 JPA 實作的差異意味著應用程式會有潛在的行為變更。此外,Kodo 中的可用內容在 EclipseLink 中可能沒有對等內容。
下列建議適用於兩個移轉選項:

其他資源: