使用 OpenJPA 對等 API,而不要使用 Kodo API

WebLogic 使用 Kodo(而非 OpenJPA)進行其 JPA 1.0 提供者實作。 對於有 OpenJPA 對應的 Kodo 類別,自動修正將 轉換為相對應的 OpenJPA 類或套件。 下表顯示了直接對映至 OpenJPA 類別的 Kodo 類別。

Kodo 類別 OpenJPA 類別
kodo.util.ProxyManager org.apache.openjpa.util.ProxyManager
kodo.jdbc.meta.Joinable org.apache.openjpa.jdbc.meta.Joinable
kodo.persistence.jdbc.LockGroupVersionColumn org.apache.openjpa.persistence.jdbc.VersionColumn
kodo.persistence.jdbc.LockGroupVersionColumns org.apache.openjpa.persistence.jdbc.VersionColumns
kodo.persistence.jdbc.ElementColumn org.apache.openjpa.persistence.jdbc.ElementJoinColumn
kodo.persistence.jdbc.ElementColumns org.apache.openjpa.persistence.jdbc.ElementJoinColumns
kodo.persistence.jdbc.KeyColumn org.apache.openjpa.persistence.jdbc.KeyColumn
kodo.persistence.jdbc.KeyColumns org.apache.openjpa.persistence.jdbc.KeyColumns
kodo.persistence.jdbc.KeyJoinColumn org.apache.openjpa.persistence.jdbc.KeyJoinColumn
kodo.persistence.jdbc.KeyJoinColumns org.apache.openjpa.persistence.jdbc.KeyJoinColumns
kodo.persistence.jdbc.KeyEmbeddedMapping org.apache.openjpa.persistence.jdbc.KeyEmbeddedMapping
kodo.jdbc.meta.ClassStrategy org.apache.openjpa.jdbc.meta.ClassStrategy
kodo.jdbc.meta.strats.* org.apache.openjpa.jdbc.meta.strats.*
kodo.jdbc.meta.DiscriminatorStrategy org.apache.openjpa.jdbc.meta.DiscriminatorStrategy
kodo.jdbc.meta.VersionStrategy org.apache.openjpa.jdbc.meta.VersionStrategy
kodo.jdbc.meta.ValueHandler org.apache.openjpa.jdbc.meta.ValueHandler
kodo.jdbc.meta.FieldStrategy org.apache.openjpa.jdbc.meta.FieldStrategy
kodo.event.OrphanedKeyAction org.apache.openjpa.event.OrphanedKeyAction
kodo.kernel.BrokerImpl org.apache.openjpa.kernel.BrokerImpl
kodo.event.TransactionListener org.apache.openjpa.event.TransactionListener
kodo.kernel.StoreManager org.apache.openjpa.kernel.StoreManager
kodo.datacache.DataCacheImpl org.apache.openjpa.datacache.DataCacheImpl
kodo.datacache.AbstractDataCache org.apache.openjpa.datacache.AbstractDataCache
kodo.datacache.DataCache org.apache.openjpa.datacache.DataCache
kodo.event.RemoteCommitProvider org.apache.openjpa.event.RemoteCommitProvider
kodo.datacache.QueryCacheImpl org.apache.openjpa.datacache.QueryCacheImpl
kodo.datacache.AbstractQueryCache org.apache.openjpa.datacache.AbstractQueryCache
kodo.datacache.QueryCache org.apache.openjpa.datacache.QueryCache
kodo.event.AbstractRemoteCommitProvider org.apache.openjpa.event.AbstractRemoteCommitProvider
kodo.event.RemoteCommitListener org.apache.openjpa.event.RemoteCommitListener
kodo.jdbc.schema.DriverDataSource org.apache.openjpa.jdbc.schema.DriverDataSource

此規則也會偵測是否使用 WebLogic 專用註釋:

此規則會將上述註釋分別移轉成下列值:

附註:WebSphere Traditional 8.5.5 版及 Liberty Web Profile 6.0 會使用 OpenJPA 進行其 JPA 2.0 實作。 WebSphere Traditional 9.0 版及 Liberty 的 Java EE 7 JPA 2.1 實作則會使用 EclipseLink。