내용 목차
본 부록에서는 JEUS 특징인 Java 필드 종류와 JEUS에서 지원하는 주요 DB 벤더의 DB 컬럼 종류와의 기본 매핑을 설명한다.
이 기본 매핑은 CMP Bean의 <schema-info><cm-field><type>이 jeus-ejb-dd.xml에 지정되어 있지 않을 때 사용한다. 이런 경우에는 EJB 시스템은 Bean의 CMP 필드 중 Java 필드를 검색하여 Java 타입을 얻어 오고 <type>은 다음의 각 절에 나오는 기본 매핑에 지정된 것과 같다고 여긴다.
다음의 테이블에서는 3가지의 컬럼들을 보여주고 있다.
Java 필드 타입
검색을 통해 발견된 EJB CMP 필드의 종류
SQL 타입
java.sql.Types 클래스에서 정의된 일반적인 SQL 종류
DB 컬럼 타입
발견된 Java 필드 종류에 기반하여 새로운 테이블을 생성할 때 JEUS가 사용할 DB 컬럼 종류의 이름
다음은 Tibero를 위한 EJB CMP 필드와 DB 컬럼 타입 매핑 정보이다.
Java 필드 타입 | SQL 타입(java.sql.Types) | Tibero DB 컬럼 타입 |
---|---|---|
java.lang.String | VARCHAR | VARCHAR(255) |
java.math.BigDecimal | NUMERIC | NUMERIC(15,5) |
java.lang.Boolean | BIT | SMALLINT |
Boolean | BIT | SMALLINT |
java.lang.Byte | TINYINT | SMALLINT |
Byte | TINYINT | SMALLINT |
java.lang.Character | CHAR | CHAR(4) |
Char | CHAR | CHAR(4) |
java.lang.Short | SMALLINT | SMALLINT |
Short | SMALLINT | SMALLINT |
java.lang.Integer | INTEGER | INTEGER |
Int | INTEGER | INTEGER |
java.lang.Long | BIGINT | NUMERIC(22,0) |
Long | BIGINT | NUMERIC(22,0) |
java.lang.Float | REAL | REAL |
Float | REAL | REAL |
java.lang.Double | DOUBLE | DOUBLE PRECISION |
Double | DOUBLE | DOUBLE PRECISION |
byte[] | LONGVARBINARY | LONG RAW |
java.sql.Date | DATE | DATE |
java.sql.Time | TIME | DATE |
java.sql.Timestamp | TIMESTAMP | DATE |
<Java object> | JAVA OBJECT | LONG RAW |
다음은 Oracle를 위한 EJB CMP 필드와 DB 컬럼 타입 매핑 정보이다.
Java 필드 타입 | SQL 타입(java.sql.Types) | Oracle DB 컬럼 타입 |
---|---|---|
java.lang.String | VARCHAR | VARCHAR(255) |
java.math.BigDecimal | NUMERIC | NUMERIC(15,5) |
java.lang.Boolean | BIT | SMALLINT |
Boolean | BIT | SMALLINT |
java.lang.Byte | TINYINT | SMALLINT |
Byte | TINYINT | SMALLINT |
java.lang.Character | CHAR | CHAR(4) |
Char | CHAR | CHAR(4) |
java.lang.Short | SMALLINT | SMALLINT |
Short | SMALLINT | SMALLINT |
java.lang.Integer | INTEGER | INTEGER |
Int | INTEGER | INTEGER |
java.lang.Long | BIGINT | NUMERIC(22,0) |
Long | BIGINT | NUMERIC(22,0) |
java.lang.Float | REAL | REAL |
Float | REAL | REAL |
java.lang.Double | DOUBLE | DOUBLE PRECISION |
Double | DOUBLE | DOUBLE PRECISION |
byte[] | LONGVARBINARY | LONG RAW |
java.sql.Date | DATE | DATE |
java.sql.Time | TIME | DATE |
java.sql.Timestamp | TIMESTAMP | DATE |
<Java object> | JAVA OBJECT | LONG RAW |
다음은 Sybase를 위한 EJB CMP 필드와 DB 컬럼 타입 매핑 정보이다.
Java 필드 타입 | SQL 타입(java.sql.Types) | Sybase DB 컬럼 타입 |
---|---|---|
java.lang.String | VARCHAR | VARCHAR(255) |
java.math.BigDecimal | NUMERIC | NUMERIC(15,5) |
java.lang.Boolean | BIT | BIT |
Boolean | BIT | BIT |
java.lang.Byte | TINYINT | TINYINT |
Byte | TINYINT | TINYLINT |
java.lang.Character | CHAR | CHAR(4) |
Char | CHAR | CHAR(4) |
java.lang.Short | SMALLINT | SMALLINT |
Short | SMALLINT | SMALLINT |
java.lang.Integer | INTEGER | INT |
Int | INTEGER | INT |
java.lang.Long | BIGINT | NUMERIC(22,0) |
Long | BIGINT | NUMERIC(22,0) |
java.lang.Float | REAL | REAL |
Float | REAL | REAL |
java.lang.Double | DOUBLE | DOUBLE PRECISION |
Double | DOUBLE | DOUBLE PRECISION |
byte[] | LONGVARBINARY | IMAGE |
java.sql.Date | DATE | DATETIME |
java.sql.Time | TIME | DATETIME |
java.sql.Timestamp | TIMESTAMP | Not spported |
<Java object> | JAVA OBJECT | IMAGE |
다음은 MSSQL을 위한 EJB CMP 필드와 DB 컬럼 타입 매핑 정보이다.
Java 필드 타입 | SQL 타입(java.sql.Types) | MSSQL DB 컬럼 타입 |
---|---|---|
java.lang.String | VARCHAR | VARCHAR(255) |
java.math.BigDecimal | NUMERIC | NUMERIC(15,5) |
java.lang.Boolean | BIT | BIT |
Boolean | BIT | BIT |
java.lang.Byte | TINYINT | TINYINT |
Byte | TINYINT | TINYINT |
java.lang.Character | CHAR | CHAR(4) |
Char | CHAR | CHAR(4) |
java.lang.Short | SMALLINT | SMALLINT |
Short | SMALLINT | SMALLINT |
java.lang.Integer | INTEGER | INT |
Int | INTEGER | INT |
java.lang.Long | BIGINT | NUMERIC(22,0) |
Long | BIGINT | NUMERIC(22,0) |
java.lang.Float | REAL | REAL |
Float | REAL | REAL |
java.lang.Double | DOUBLE | FLOAT |
Double | DOUBLE | FLOAT |
byte[] | LONGVARBINARY | IMAGE |
java.sql.Date | DATE | DATETIME |
java.sql.Time | TIME | DATETIME |
java.sql.Timestamp | TIMESTAMP | DATETIME |
<Java object> | JAVA OBJECT | IMAGE |
다음은 DB2를 위한 EJB CMP 필드와 DB 컬럼 타입 매핑 정보이다.
Java 필드 타입 | SQL 타입(java.sql.Types) | DB2 DB 컬럼 타입 |
---|---|---|
java.lang.String | VARCHAR | VARCHAR(255) |
java.math.BigDecimal | NUMERIC | NUMERIC(15,5) |
java.lang.Boolean | BIT | SMALLINT |
Boolean | BIT | SMALLINT |
java.lang.Byte | TINYINT | SMALLINT |
Byte | TINYINT | SMALLINT |
java.lang.Character | CHAR | CHARACTER(4) |
Char | CHAR | CHARACTER(4) |
java.lang.Short | SMALLINT | SMALLINT |
Short | SMALLINT | SMALLINT |
java.lang.Integer | INTEGER | INTEGER |
Int | INTEGER | INTEGER |
java.lang.Long | BIGINT | BIGINT |
Long | BIGINT | BIGINT |
java.lang.Float | REAL | REAL |
Float | REAL | REAL |
java.lang.Double | DOUBLE | DOUBLE |
Double | DOUBLE | DOUBLE |
byte[] | LONGVARBINARY | VARCHAR(255) |
java.sql.Date | DATE | DATE |
java.sql.Time | TIME | TIME |
java.sql.Timestamp | TIMESTAMP | TIMESTAMP |
<Java object> | JAVA OBJECT | LONG VARCHAR |
다음은 Cloudscape를 위한 EJB CMP 필드와 DB 컬럼 타입 매핑 정보이다.
Java 필드 타입 | SQL 타입(java.sql.Types) | Cloudscape DB 컬럼 타입 |
---|---|---|
java.lang.String | VARCHAR | VARCHAR(255) |
java.math.BigDecimal | NUMERIC | DECIMAL(15,5) |
java.lang.Boolean | BIT | BOOLEAN |
Boolean | BIT | BOOLEAN |
java.lang.Byte | TINYINT | TINYINT |
Byte | TINYINT | TINYINT |
java.lang.Character | CHAR | CHAR(4) |
Char | CHAR | CHAR(4) |
java.lang.Short | SMALLINT | SMALLINT |
Short | SMALLINT | SMALLINT |
java.lang.Integer | INTEGER | INTEGER |
Int | INTEGER | INTEGER |
java.lang.Long | BIGINT | LONGINT |
Long | BIGINT | LONGINT |
java.lang.Float | REAL | REAL |
Float | REAL | REAL |
java.lang.Double | DOUBLE | DOUBLE PRECISION |
Double | DOUBLE | DOUBLE PRECISION |
byte[] | LONGVARBINARY | LONG BIT VARYING |
java.sql.Date | DATE | DATE |
java.sql.Time | TIME | TIME |
java.sql.Timestamp | TIMESTAMP | TIMESTAMP |
<Java object> | JAVA OBJECT | LONG BIT VARYING |
다음은 Informix를 위한 EJB CMP 필드와 DB 컬럼 타입 매핑 정보이다.
Java 필드 타입 | SQL 타입(java.sql.Types) | Informix DB 컬럼 타입 |
---|---|---|
java.lang.String | VARCHAR | VARCHAR(255) |
java.math.BigDecimal | NUMERIC | NUMERIC(15,5) |
java.lang.Boolean | BIT | VARCHAR |
Boolean | BIT | VARCHAR |
java.lang.Byte | TINYINT | SMALLINT |
Byte | TINYINT | SMALLINT |
java.lang.Character | CHAR | CHAR |
Char | CHAR | CHAR |
java.lang.Short | SMALLINT | SMALLINT |
Short | SMALLINT | SMALLINT |
java.lang.Integer | INTEGER | INTEGER |
Int | INTEGER | INTEGER |
java.lang.Long | BIGINT | SERIAL8 |
Long | BIGINT | SERIAL8 |
java.lang.Float | REAL | REAL |
Float | REAL | REAL |
java.lang.Double | DOUBLE | DOUBLE PRECISION |
Double | DOUBLE | DOUBLE PRECISION |
byte[] | LONGVARBINARY | VARCHAR(255) |
java.sql.Date | DATE | DATE |
java.sql.Time | TIME | DATETIME HOUR TO SECOND |
java.sql.Timestamp | TIMESTAMP | DATETIME YEAR TO SECOND |
<Java object> | JAVA OBJECT | BYTE |