Использовать значения свойств OpenJPA вместо значений свойств Kodo

WebLogic использует Kodo вместо OpenJPA в реализации провайдера JPA 1.0. Это правило находит значения свойств Kodo в файле persistence.xml, который должен быть расположен в папке META-INF. Процедура быстрого исправления сканера исходного кода преобразует значения свойств в 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
  • Допустимо значение default
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 реализация JPA 2.1 Java EE 7 использует EclipseLink.