OpenJPA プロパティー値を Kodo 固有のプロパティー値の代わりに使用する

WebLogic は、JPA 1.0 プロバイダーの実装に OpenJPA ではなく Kodo を使用しました。 この規則は、kodo 固有のプロパティー値を OpenJPA に変換します。 この規則は、Java ファイルで Kodo 固有のプロパティー値を検出します。 プロパティー名およびプロパティー値は、以下に対する String リテラル・パラメーターでなければなりません。 put メソッド。 プロパティー名が最初のパラメーターでなければならず、キーがあり、そしてプロパティー値が 2 番目のパラメーターでなければなりません。 この規則は、プロパティー値のみを変換します。 必要であれば、別の規則がプロパティー名を変換します。

例えば、以下のコードにフラグが立てられます。
map.put("kodo.Log", "Remote=TRACE, SQL=TRACE");

map.put("kodo.Log", "SQL=TRACE");
自動修正では、Remote=TRACEという値は有効な OpenJPA 値ではないため、削除される。

次の表は、変換可能な値を示しています。
クラス 説明
kodo.Log
  • 値の Configuration、Remote、Manage、および Profile を削除します。
  • kodo.* を openjpa.* に変換します。
kodo.ConnectionFactoryProperties
  • 有効な値は QueryTimeout、PrettyPrint、PrettyPrintLineLength です。
  • 他のすべての値は削除されます。
kodo.ConnectionFactory2Properties
  • 有効な値は QueryTimeout、PrettyPrint、PrettyPrintLineLength です。
  • 他のすべての値は削除されます。
kodo.MetaDataFactory
  • 有効な値は jpa または org.apache.openjpa.persistence.PersistenceMetaDataFactory です。
  • 他のすべての値を削除して、値を jpa に設定します。
kodo.LockManager
  • kodo.* を org.apache.openjpa.* に変換します。
  • エイリアスは変わりません。
kodo.OrphanedKeyAction
  • kodo.* を org.apache.openjpa.* に変換します。
  • エイリアスは変わりません。
kodo.SavepointManager
  • kodo.* を org.apache.openjpa.* に変換します。
  • エイリアスは変わりません。
kodo.Sequence
  • kodo.* を org.apache.openjpa.* に変換します。
  • エイリアスは変わりません。
kodo.DataCache
  • 最初のキャッシュ項目だけを選択します。他のすべての項目は廃棄されます。
  • 最初の項目が tangosol、lru、または gemfire に設定される場合、値は 'true' に設定されます。
  • 最初の項目に値がある場合、それらは保持されます。例: true(CacheSize=100)。
  • 最初の項目が false である場合、それは false のままとなります。
kodo.QueryCompilationCache
  • 値の kodo.util.CacheMap は org.apache.openjpa.util.CacheMap に変換されます。
  • 値の java.util.HashMap は org.apache.openjpa.lib.util.ConcurrentHash に変換されます。
  • エイリアスは変わりません。
kodo.jdbc.DBDictionary
  • kodo.* を org.apache.openjpa.* に変換します。
  • エイリアスは変わりません。
kodo.jdbc.SchemaFactory
  • kodo.* を org.apache.openjpa.* に変換します。
  • エイリアスは変わりません。
kodo.jdbc.MappingDefaults
  • 有効な値はデフォルトです。
kodo.ee.ManagedRuntime
  • kodo.* を org.apache.openjpa.* に変換します。
  • エイリアスは変わりません。

注: WebSphere traditional V8.5.5 および Liberty Web Profile 6.0 は、JPA 2.0 の実装に OpenJPA を使用します。WebSphere traditional V9.0 および Liberty の Java EE 7 JPA 2.1 の実装は、EclipseLink を使用します。