weblogic-cmp-rdbms-jar.xml 파일에는 CMP(Container-Managed Persistence) 및 CMR(Container-Managed Relationships)이 사용하는 데이터베이스 열에 대한 EJB 속성의 맵핑이 있습니다.
이 규칙은 weblogic-cmp-rdbms-jar.xml 파일에서 CMP 필드 맵핑을 발견합니다. 자동화된 수정이 제공되면 WebSphere(R )에 필요한 매핑을 생성하려고 시도합니다 애플리케이션 서버 컨테이너 관리 지속성이 작동하도록 합니다. 맵핑은 데이터베이스 유형 및 스키마에 민감합니다. 따라서 자동화된 수정은 데이터베이스에 대한 올바른 스키마를 선택하기 위해 최선의 노력을 기울입니다.
데이터베이스 벤더는 이 규칙의 특성 패널에 구성할 수 있습니다. 자동 발견으로 설정된 경우, weblogic-cmp-rdbms-jar.xml 파일의 database-type 설정은 사용되는 데이터베이스의 유형을 판별합니다. 아무 것도 지정되지 않은 경우, Oracle이 사용됩니다. 지원되는 데이터베이스 유형은 DB2(R), Oracle, SQLServer, 및 SQLServer2000 뿐입니다. MySQL, POINTBASE, Informix(R) 및 Sybase는 마이그레이션할 수 없습니다.
다음 테이블은 사용되는 데이터베이스 열 유형에 대한 Java 유형을 표시합니다. 데이터베이스 테이블 스키마가 이 형식에서 벗어난 경우, CMP는 작동하지 않습니다. 이런 경우, Rational Application Developer의 RDB 맵핑 마법사에 대한 EJB의 중간 합류식 설정을 사용하여 CMP 맵핑을 마이그레이션하십시오.
| Java 유형 | DB2 | Oracle | SQLServer |
|---|---|---|---|
| java.lang.Integer/int | INTEGER | INTEGER | INTEGER |
| java.lang.Double/double | DOUBLE PRECISION | DOUBLE PRECISION | DOUBLE PRECISION |
| java.lang.Float/float | FLOAT | FLOAT | FLOAT |
| java.lang.Short/short | INTEGER | INTEGER | SMALLINT |
| java.lang.Long/long | BIGINT | INTEGER | DECIMAL |
| java.math.BigDecimal | DECIMAL | DECIMAL | DECIMAL |
| java.lang.String | VARCHAR | VARCHAR | VARCHAR |
| java.lang.Character/char | CHAR | CHAR | CHAR |
| java.lang.Byte/byte | INTEGER | INTEGER | TINYINT |
| java.lang.Boolean/boolean | INTEGER | INTEGER | INTEGER |
| java.sql.Date | DATE | DATE | DATETIME |
| java.sql.Time | TIME | DATE | DATETIME |
| java.sql.Timestamp | TIMESTAMP | DATE | DATETIME |
| byte[]/java.io.Serializable | VARCHAR FOR BIT DATA | RAW | IMAGE |
마이그레이션 중에 낙관적 잠금 설정은 가능한 경우에 마이그레이션됩니다. <verify-columns>가 weblogic-cmp-rdbms-jar.xml 파일에 Timestamp 또는 Version으로 설정된 경우, 낙관적 잠금은 <optimistic-column> 아래에 지정된 열에서 사용할 수 있습니다. 이 열이 CMP 필드에 맵핑되는 경우에만 완료되며, WebLogic에서는 선택사항입니다. 열이 맵핑되지 않는 경우, 새 필드를 엔터프라이즈 Bean에 수동으로 추가한 다음 weblogic-cmp-rdbms-jar.xml 파일의 열에 맵핑해야 합니다.
마이그레이션하는 경우에는 Read 또는 Modified의 <verify-columns> 값이 지원되지 않습니다.