jbosscmp-jdbc.xml 파일에는 CMP(Container-Managed Persistence) 및 CMR(Container-Managed Relationships)이 사용하는 데이터베이스 열에 대한 EJB 속성의 맵핑이 있습니다.
이 규칙은 jbosscmp-jdbc.xml 파일에서 CMP 필드 맵핑을 발견합니다. 자동화된 수정은 WebSphere(R )에 필요한 매핑을 생성하려고 시도합니다 애플리케이션 서버 Container-Managed Persistence 에 필요한 매핑을 생성하려고 시도합니다. 맵핑은 데이터베이스 유형 및 스키마에 민감합니다. 자동 수정은 데이터베이스에 맞는 올바른 스키마를 선택하기 위해 최선의 노력을 기울입니다.
데이터베이스 벤더는 이 규칙의 특성 패널에 구성할 수 있습니다. 자동 발견으로 설정된 경우 jbosscmp-jdbc.xml 파일의 database-type 설정은 사용되는 데이터베이스의 유형을 판별합니다. 아무 것도 지정되지 않은 경우 DB2가 사용됩니다. 지원되는 데이터베이스 유형은 DB2(R), Oracle, SQLServer, 및 SQLServer2000 뿐입니다. MySQL, POINTBASE, Informix(R) 및 Sybase는 마이그레이션할 수 없습니다.
다음 테이블은 사용되는 데이터베이스 열 유형에 대한 Java 유형을 표시합니다. 데이터베이스 테이블 스키마가 이 형식에서 벗어나거나 jbosscmp-jdbc.xml 파일에 사용자 정의 데이터 유형이 지정된 경우, 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 |