Mapping rules for types

The tables below describe the mapping rules applicable to different types of data of attributes during data model/table model transformations.

Note: It is possible to modify the default mapping rules applied to types during transformations. To do this, simply modify the xml files present in the \res\mapping\ directory of the module’s resources (for example: <source type=“boolean” target=“VARCHAR2” length=“1” precision=“” scale=“”/>).

SQL92

SQL92 Type Java Type
VARCHAR2 java.lang.String
VARCHAR java.lang.String
CHAR char
FLOAT float
BIT byte
INTEGER java.lang.Integer
DECIMAL java.lang.Integer
TIME java.sql.Time
CHARACTER VARYING char
CHAR VARYING char
NATIONAL CHARACTER char
NATIONAL CHAR char
NATIONAL CHARACTER VARYING char
NATIONAL CHAR VARYING char
NCHAR char
NCHAR VARYING char
BIT VARYING byte
TIMESTAMP java.sql.Timestamp
NUMERIC java.lang.Integer
DEC java.lang.Integer
NUMBER java.lang.Integer
INTERVAL java.lang.String
YEAR java.lang.String
MONTH java.lang.String
DAY java.lang.String
HOUR java.lang.String
MINUTE java.lang.String
SECOND java.lang.String
DATE java.util.Date

MySQL

MySQL Type Java Type
BIT byte
TINYINT short
SMALLINT short
MEDIUMINT Int
INT Int
INTEGER Int
BIGINT Long
REAL Float
DOUBLE Double
FLOAT Float
DECIMAL Float
NUMERIC float
DATE java.util.Date
TIME java.sql.Time
TIMESTAMP java.sql.Timestamp
DATETIME java.util.Date
YEAR java.lang.String
CHAR Char
VARCHAR java.lang.String
BINARY java.lang.String
TINYBLOB java.sql.Blob
BLOB java.sql.Blob
MEDIUMBLOB java.sql.Blob
LONGBLOB java.sql.Blob
TINYTEXT java.lang.String
TEXT java.lang.String
MEDIUMTEXT java.lang.String
LONGTEXT java.lang.String
ENUM java.lang.String
SET java.lang.String
SPATIAL_TYPE java.lang.String
VARBINARY java.lang.String

Oracle11G

ORACLE11G Type Java Type
CHAR Char
NCHAR Char
VARCHAR java.lang.String
VARCHAR2 java.lang.String
LONG VARCHAR java.lang.String
NVARCHAR2 java.lang.String
LONG long
RAW java.lang.String
LONG RAW Java.lang.String
NUMBER float
NUMERIC float
FLOAT float
DEC java.lang.Integer
DECIMAL java.lang.Integer
INTEGER Int
INT int
DATE java.util.Date
TIME java.sql.Time
TIMESTAMP java.sql.Timestamp
REAL float
DOUBLE PRECISION double
TINYINT short
SMALLINT short
BIGINT long
CLOB java.sql.Clob
BIT byte
BINARY java.lang.String
VARBINARY java.lang.String
LONG VARBINARY java.lang.String
BLOB java.sql.Blob
ROWID java.sql.String

SQLServer 2008

SQLServer 2008 Type Java Type
BIT Byte
TINYINT short
SMALLINT integer
INT integer
DECIMAL java.lang.Integer
BIGINT long
NUMERIC long
SMALLMONEY short
MONEY integer
FLOAT float
REAL float
SMALLDATETIME java.util.Date
DATETIME java.util.Date
TIME Java.sql.Time
DATETIME2 java.util.Date
DATETIMEOFFSET java.util.Date
CHAR char
VARCHAR java.lang.String
TEXT java.lang.String
NCHAR java.lang.String
NVARCHAR java.lang.String
NTEXT java.lang.String
BINARY java.lang.String
VARBINARY java.lang.String
IMAGE java.lang.String
SQL_VARIANT java.lang.String
TIMESTAMP java.sql.Timestamp
UNIQUEIDENTIFIER java.lang.String
HIERARCHYID java.lang.String
XML java.lang.String
GEOGRAPHY java.lang.String
GEOMETRY java.lang.String
UDT java.lang.String