Mapping Database Field Types to Java Types in the Database Control
This topic describes the relationships between database field types and Java types in the Database control. To learn about the Database control, see Database Control: Using a Database from Your Web Service.
Type mappings are given for the PointBase database, which is installed with WebLogic Server, and for Oracle 8i. If you are using a different database, please consult the documentation for the JDBC driver of your database software.
The process of converting a value retrieved from a database to a concrete Java type is referred to as materializing the value. It is possible for a database element to be materialized into many types. For example, one could imagine an INTEGER database value being materialized into all the following primitive types and classes: int, Integer, BigDecimal, float, Float, double, Double, String and possibly others.
Each database vendor defines a specific set of materializations that are supported by their database systems. If you attempt to perform a materialization that is not allowed by the database system you are accessing, an exception will be thrown.
The type mappings shown in the tables below are the most direct mappings and are shown as examples. Please consult the documentation for your database system to determine all possible database type to Java type mappings in the database system you are using.
The following table lists the relationships between database types and Java types for the PointBase Version 4.1 database.
Java Data Types
|
JDBC Data Types
|
PointBase SQL Data Types (Version 4.1)
|
---|---|---|
boolean
|
BIT
|
boolean
|
byte
|
TINYINT
|
smallint
|
short
|
SMALLINT
|
smallint
|
int
|
INTEGER
|
integer
|
long
|
BIGINT
|
numeric/decimal
|
|
|
|
double
|
FLOAT
|
float
|
float
|
REAL
|
real
|
double
|
DOUBLE
|
double
|
|
|
|
java.math.BigDecimal
|
NUMERIC
|
numeric
|
java.math.BigDecimal
|
DECIMAL
|
decimal
|
|
|
|
String
|
CHAR
|
char
|
String
|
VARCHAR
|
varchar
|
String
|
LONGVARCHAR
|
clob
|
|
|
|
java.sql.Date
|
DATE
|
date
|
java.sql.Time
|
TIME
|
time
|
java.sql.Timestamp
|
TIMESTAMP
|
timestamp
|
|
|
|
byte[]
|
BINARY
|
blob
|
byte[]
|
VARBINARY
|
blob
|
byte[]
|
LONGVARBINARYbyte[]
|
blob
|
|
|
|
java.sql.Blob
|
BLOB
|
blob
|
java.sql.Clob
|
CLOB
|
clob
|
|
|
|
The following table lists the relationships between database types and Java types for the Oracle 8i database.
Java Data Types
|
JDBC Data Types
|
Oracle SQL Data Types (Version 8i)
|
---|---|---|
boolean
|
BIT
|
NUMBER |
byte
|
TINYINT
|
NUMBER
|
short
|
SMALLINT
|
NUMBER
|
int
|
INTEGER
|
NUMBER
|
long
|
BIGINT
|
NUMBER
|
|
|
|
double
|
FLOAT
|
NUMBER
|
float
|
REAL
|
NUMBER
|
double
|
DOUBLE
|
NUMBER
|
|
|
|
java.math.BigDecimal
|
NUMERIC
|
NUMBER
|
java.math.BigDecimal
|
DECIMAL
|
NUMBER
|
|
|
|
String
|
CHAR
|
CHAR
|
String
|
VARCHAR
|
VARCHAR2
|
String
|
LONGVARCHAR
|
LONG
|
|
|
|
java.sql.Date
|
DATE
|
DATE
|
java.sql.Time
|
TIME
|
DATE
|
java.sql.Timestamp
|
TIMESTAMP
|
DATE
|
|
|
|
byte[]
|
BINARY
|
NUMBER
|
byte[]
|
VARBINARY
|
RAW
|
byte[]
|
LONGVARBINARY
|
LONGRAW
|
|
|
|
java.sql.Blob
|
BLOB
|
BLOB
|
java.sql.Clob
|
CLOB
|
CLOB
|
|
|
|
Returning a Single Value from a Database Control Method
Returning a Single Row from a Database Control Method
Returning Multiple Rows from a Database Control Method