CMP supports a set of JDBC data types that are used in mapping Java data fields to SQL types. Supported JDBC data types are as follows: BIGINT, BIT, BLOB, CHAR, CLOB, DATE, DECIMAL, DOUBLE, FLOAT, INTEGER, NUMERIC, REAL, SMALLINT, TIME, TIMESTAMP, TINYINT, VARCHAR.
The following table contains the mappings of Java types to JDBC types when automatic mapping is used.
Table 7–1 Java Type to JDBC Type Mappings
Java Type |
JDBC Type |
Nullability |
---|---|---|
boolean |
BIT |
No |
java.lang.Boolean |
BIT |
Yes |
byte |
TINYINT |
No |
java.lang.Byte |
TINYINT |
Yes |
double |
DOUBLE |
No |
java.lang.Double |
DOUBLE |
Yes |
float |
REAL |
No |
java.lang.Float |
REAL |
Yes |
int |
INTEGER |
No |
java.lang.Integer |
INTEGER |
Yes |
long |
BIGINT |
No |
java.lang.Long |
BIGINT |
Yes |
short |
SMALLINT |
No |
java.lang.Short |
SMALLINT |
Yes |
java.math.BigDecimal |
DECIMAL |
Yes |
java.math.BigInteger |
DECIMAL |
Yes |
char |
CHAR |
No |
java.lang.Character |
CHAR |
Yes |
java.lang.String |
VARCHAR or CLOB |
Yes |
Serializable |
BLOB |
Yes |
byte[] |
BLOB |
Yes |
java.util.Date |
DATE (Oracle only) TIMESTAMP (all other databases) |
Yes |
java.sql.Date |
DATE |
Yes |
java.sql.Time |
TIME |
Yes |
java.sql.Timestamp |
TIMESTAMP |
Yes |
Java types assigned to CMP fields must be restricted to Java primitive types, Java Serializable types, java.util.Date, java.sql.Date, java.sql.Time, or java.sql.Timestamp. An entity bean local interface type (or a collection of such) can be the type of a CMR field.
The following table contains the mappings of JDBC types to database vendor-specific types when automatic mapping is used. For a list of the JDBC drivers currently supported by the Application Server, see the Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Release Notes. For configurations of supported and other drivers, see Configurations for Specific JDBC Drivers.
Table 7–2 Mappings of JDBC Types to Database Vendor Specific Types
JDBC Type |
PointBase |
Oracle |
DB2 |
Sybase ASE 12.5 |
MS-SQL Server |
---|---|---|---|---|---|
BIT |
BOOLEAN |
SMALLINT |
SMALLINT |
TINYINT |
BIT |
TINYINT |
SMALLINT |
SMALLINT |
SMALLINT |
TINYINT |
TINYINT |
SMALLINT |
SMALLINT |
SMALLINT |
SMALLINT |
SMALLINT |
SMALLINT |
INTEGER |
INTEGER |
INTEGER |
INTEGER |
INTEGER |
INTEGER |
BIGINT |
BIGINT |
NUMBER |
BIGINT |
NUMERIC |
NUMERIC |
REAL |
FLOAT |
REAL |
FLOAT |
FLOAT |
REAL |
DOUBLE |
DOUBLE PRECISION |
DOUBLE PRECISION |
DOUBLE |
DOUBLE PRECISION |
FLOAT |
DECIMAL(p,s) |
DECIMAL(p,s) |
NUMBER(p,s) |
DECIMAL(p,s) |
DECIMAL(p,s) |
DECIMAL(p,s) |
VARCHAR |
VARCHAR |
VARCHAR2 |
VARCHAR |
VARCHAR |
VARCHAR |
DATE |
DATE |
DATE |
DATE |
DATETIME |
DATETIME |
TIME |
TIME |
DATE |
TIME |
DATETIME |
DATETIME |
TIMESTAMP |
TIMESTAMP |
TIMESTAMP(9) |
TIMESTAMP |
DATETIME |
DATETIME |
BLOB |
BLOB |
BLOB |
BLOB |
IMAGE |
IMAGE |
CLOB |
CLOB |
CLOB |
CLOB |
TEXT |
NTEXT |