フィールドへの直接マッピングの使用
フィールドへの直接マッピングはJava属性を直接、値のデータベース列にマップします。アプリケーションがJavaインスタンスをデータベースに書き込む際、表列のフィールドにその属性の値を格納します。TopLinkは次の型をサポートします。
- java.lang: Boolean、Float、Integer、 String、Double、Long、Short、Byte、Byte[ ]、Character、Character[ ]、これらのクラスに関連付けられているすべてのプリミティブ
- java.math: BigInteger、BigDecimal
- java.sql: Date、Time、Timestamp
- java.util: Date、Calendar
読取りの際、表5-1に示されているとおり、フィールドへの直接マッピングは単純な1つのデータ変換を実行します。2方向以上の完全な変換については他の直接マッピングを使用する必要があります。
Java型 |
データベース・タイプ |
Integer、Float、Double、Byte、Short、BigDecimal、BigInteger、int、float、double、byte、short |
NUMBER、NUMERIC、DECIMAL、FLOAT、DOUBLE、INT、SMALLINT、BIT、BOOLEAN |
Boolean、boolean |
BOOLEAN、BIT、SMALLINT、NUMBER、NUMERIC、DECIMAL、FLOAT、DOUBLE、INT |
String |
VARCHAR、CHAR、VARCHAR2、CLOB、TEXT、LONG、LONG VARCHAR、MEMO |
nSting |
NVARCHAR2(Oracle9に適用) |
nClob |
NCLOB(Oracle9に適用) |
Character、char |
CHAR |
nChararcter |
NCHAR(Oracle9に適用) |
byte[ ] |
BLOB、LONG RAW、IMAGE、RAW、VARBINARY、BINARY、LONG VARBINARY |
Time |
TIME |
sql.Date |
DATE(DB2のみに適用) |
Timestamp、util.Date、Calendar |
TIMESTAMP(DB2のみに適用) |
sql.Date、Time、Timestamp、util.Date、Calendar |
DATE、DATETIME(Oracle、Sybase、SQL Serverに適用) |
フィールドへの直接マッピングではNULL値を指定することもできます。これは、プリミティブ型がオブジェクトで使用され、データベース・フィールドでNULL値を使用できる場合に必要になります。
図5-10には、Java属性cityとリレーショナル・データベース列CITYの間のフィールドへの直接マッピングが示されています。同様に、countryからCOUNTRY、idからADDRESS_ID、establishedからEST_DATE、provinceからPROVINCEなどのフィールドへの直接マッピングを定義できます。
関連項目
TopLinkマッピング・タイプについて
直接マッピングの使用
Javaオブジェクトのフィールドへの直接マッピングの作成
CMP EJBのフィールドへの直接マッピングの作成
Copyright © 1997, 2004, Oracle.
All rights reserved.