Interstage Application Server J2EE ユーザーズガイド |
目次
索引
![]() ![]() |
第3部 EJB編 | > 第26章 Entity Bean編 | > 26.12 CMPで定義するJavaのデータ型とDBMSのSQLデータ型との対応 |
以下に、使用できる標準データ型を示します。
(注)
コンテナが、対応するJavaのプリミティブデータ型に変換してからデータベースに設定します。
以下に、nullが使用できるデータ型を示します。
以下に、Javaのデータ型とDBMSのSQLデータ型の組合せ(推奨パターン)を示します。
Javaのデータ型を、以下の表に示す以外のDBMSのSQLデータ型と組み合わせたい場合は、JDBCドライバの変換規則に従ってください。
ただし、“使用できる標準データ型”で、(注)となっているデータ型については、コンテナが変換した後のJavaのプリミティブデータ型でJDBCの変換規則に従ってください。
DBMSがOracleで、CHAR型のカラムを使用すると、OracleのJDBCドライバによって、返却される文字列の後ろに続く空白(スペース)を削除する、または文字列長さを合わせるパディングを行うため、データの不整合が起こる可能性があります。
特にプライマリキーフィールドにCHAR型のカラムをマッピングする場合に注意が必要です。
CHAR型を使用する代わりにVARCHAR2型を使用することで、この問題は解決されます。
Javaのデータ型 |
DBMSのSQLデータ型 |
||
Symfoware |
Oracle |
SQL Server |
|
boolean/java.lang.Boolean |
− |
NUMBER |
− |
byte/java.lang.Byte |
− |
NUMBER |
− |
char/java.lang.Character |
− |
− |
− |
double/java.lang.Double |
FLOAT DOUBLE |
NUMBER |
float |
float/java.lang.Float |
REAL |
NUMBER |
real |
int/java.lang.Integer |
INT |
NUMBER |
int |
long/java.lang.Long |
− |
NUMBER |
− |
short/java.lang.Short |
SMALLINT |
NUMBER |
smallint |
java.lang.String |
CHAR NCHAR VARCHAR NVARCHAR |
CHAR VARCHAR2 LONG |
char varchar text |
java.math.BigDecimal |
NUMERIC DECIMAL |
NUMBER |
decimal numeric money smallmoney |
byte[] |
BLOB (注1) |
RAW LONGRAW |
binary varbinary image timestamp |
java.sql.Date |
DATE |
DATE |
− |
java.sql.Time |
TIME |
DATE |
− |
java.sql.Timestamp |
TIMESTAMP |
DATE |
datetime (注2)(注3) smalldatetime (注2) |
− : 推奨するデータ型は特にありません。
注1)
SymfowareのBLOB型は、31KB以内で定義された列に対してのみ取出し/設定ができます。
注2)
datetime型とsmalldatetime型のデータを更新する場合は、以下の形式でデータを指定してください。
YYYY-MM-DD hh:mm:ss |
YYYY:年、MM:月、DD:日、hh:時、mm:分、ss:秒
(ミリ秒は未サポートです。)
2001-09-22 14:23:40
注3)
datetime型に対して、以下のAPIを使用する場合、smalldatetime型の範囲内の値だけ有効となります。
Javaのデータ型 |
DBMSのSQLデータ型 |
|
Symfoware |
Oracle |
|
boolean/java.lang.Boolean |
− |
NUMBER |
byte/java.lang.Byte |
− |
NUMBER |
char/java.lang.Character |
− |
− |
double/java.lang.Double |
FLOAT DOUBLE |
NUMBER |
float/java.lang.Float |
REAL |
NUMBER |
int/java.lang.Integer |
INT |
NUMBER |
long/java.lang.Long |
− |
NUMBER |
short/java.lang.Short |
SMALLINT |
NUMBER |
java.lang.String |
CHAR NCHAR VARCHAR NVARCHAR |
CHAR VARCHAR2 LONG |
java.math.BigDecimal |
NUMERIC DECIMAL |
NUMBER |
byte[] |
BLOB (注) |
RAW LONGRAW |
java.sql.Date |
DATE |
DATE |
java.sql.Time |
TIME |
DATE |
java.sql.Timestamp |
TIMESTAMP |
DATE |
− : 推奨するデータ型は特にありません。
注)
SymfowareSymfoWAREのBLOB型は、31KB以内で定義された列に対してのみ取出し/設定ができます。
Javaのデータ型 |
DBMSのSQLデータ型 |
|
Symfoware |
Oracle |
|
boolean/java.lang.Boolean |
− |
NUMBER |
byte/java.lang.Byte |
− |
NUMBER |
char/java.lang.Character |
− |
− |
double/java.lang.Double |
FLOAT DOUBLE |
NUMBER |
float/java.lang.Float |
REAL |
NUMBER |
int/java.lang.Integer |
INT |
NUMBER |
long/java.lang.Long |
− |
NUMBER |
short/java.lang.Short |
SMALLINT |
NUMBER |
java.lang.String |
CHAR NCHAR VARCHAR NVARCHAR |
CHAR VARCHAR2 LONG |
java.math.BigDecimal |
NUMERIC DECIMAL |
NUMBER |
byte[] |
BLOB (注) |
RAW LONGRAW |
java.sql.Date |
DATE |
DATE |
java.sql.Time |
TIME |
DATE |
java.sql.Timestamp |
TIMESTAMP |
DATE |
− : 推奨するデータ型は特にありません。
注)
SymfowareSymfoWAREのBLOB型は、31KB以内で定義された列に対してのみ取出し/設定ができます。
目次
索引
![]() ![]() |