SQLとJavaのデータ型について
対応についてまとめとく。
O/Rマッパーを使用する際は、そちらの推奨型を優先で。
SQL型 | Javaの型 | 備考 |
---|---|---|
CHAR | java.lang.String | - |
VARCHAR2 | java.lang.String | - |
LONG | java.lang.String | データが大容量の場合にはCLOBに挿入すること。 |
NUMBER | long | 整数を格納したい場合。 |
NUMBER | double | 浮動小数を扱いたい場合。 |
NUMBER | java.math.BigDecimal | 桁数が多い(×long)、少数の精度が求められる(×double)場合。 |
RAW | byte[] | データが大容量の場合にはBLOBに挿入すること。 |
LONGRAW | byte[] | データが大容量の場合にはBLOBに挿入すること。 |
DATE | java.sql.Date | Date型では日付情報のみを格納して時刻情報は使用しないこと。 |
TIMESTAMP | java.sql.Timestamp | ミリ秒より下のデータを扱う場合。 |
TIMESTAMP | java.util.Date | ミリ秒より下のデータを扱わない場合。 |
BLOB | java.sql.Blob | - |
CLOB | java.sql.Clob | - |
ユーザ定義オブジェクト | java.sql.Struct | - |
ユーザ定義参照 | java.sql.Ref | - |
ユーザ定義コレクション | java.sql.Array | - |
ROWID | java.sql.RowId | - |
NCLOB | java.sql.Nclob | - |
NCHAR | java.lang.String | - |
BFILE | oracle.sql.BFILE | - |
REF CURSOR | java.sql.ResultSet | ストアドプロシージャから、複数の結果を返す場合。 |