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 10–1 Java Type to JDBC Type Mappings for CMP
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 Enterprise Server, see the Sun GlassFish Enterprise Server v2.1.1 Release Notes. For configurations of supported and other drivers, see Configurations for Specific JDBC Drivers in Sun GlassFish Enterprise Server v2.1.1 Administration Guide.
Table 10–2 Mappings of JDBC Types to Database Vendor Specific Types for CMP
JDBC Type |
Java DB, Derby, CloudScape |
Oracle |
DB2 |
Sybase ASE 12.5 |
MS-SQL Server |
---|---|---|---|---|---|
BIT |
SMALLINT |
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 |
REAL |
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 |