Kodo 특정 특성 값 대신 OpenJPA 특성 값 사용

WebLogic은 OpenJPA 대신 Kodo를 JPA 1.0 제공자 구현에 사용했습니다. 이 규칙은 kodo 특정 특성 값을 OpenJPA로 변환합니다. 이 규칙은 Java 파일의 kodo 특정 특성 값을 발견합니다. 특성 이름 및 특성 값은 String 리터럴 매개변수여야 합니다. put 메소드를 사용하여 변경할 수 있습니다. 특성 이름은 첫 번째 매개변수이어야 하고, 키 및 특성 값은 두 번째 매개변수이어야 합니다. 이 규칙만 특성 값을 변환합니다. 독립 규칙은 필요 시 특성 이름을 변환합니다.

예를 들어, 다음 코드가 플래그됩니다.
map.put("kodo.Log", "Remote=TRACE, SQL=TRACE");

map.put("kodo.Log", "SQL=TRACE");
자동 수정은 유효한 OpenJPA 값이 아니므로 Remote=TRACE 값을 제거합니다.

다음 테이블은 변환할 수 있는 값을 표시합니다.
클래스 설명
kodo.Log
  • 구성, 원격, 관리 및 프로파일 값 제거
  • 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's Java EE 7 JPA 2.1 구현은 EclipseLink를 사용합니다.