トランスフォーメーション・マッピングの使用

トランスフォーメーション・マッピングは、Javaで表されている値とデータベースで表されている値の特別な変換に使用します。


ヒント: 複数のフィールドを1つの属性にマップする場合のみトランスフォーメーション・マッピングを使用します。トランスフォーメーション・マッピングは複雑なため、ほとんどの場合、フィールドへの直接マッピングのget/setメソッドを使用して変換を実行した方がより簡単です。

一般的に、オブジェクトの作成に複数のフィールドの値が使用される場合はトランスフォーメーション・マッピングが適切です。このマッピング・タイプでは、データベースからのオブジェクトの読取り時に起動される属性変換メソッドを示すことが必要です。このメソッドには、DatabaseRowのインスタンスであるパラメータが少なくとも1つ必要です。属性変換メソッドでは、get()メッセージをDatabaseRowに送信して特定の列の値を取得できます。属性変換メソッドは、Sessionのインスタンスの場合は2番目のパラメータを指定できます。Sessionはデータベースで問合せを実行して、変換で必要な追加の値を取得します。メソッドは属性に格納される値を返します。

トランスフォーメーション・マッピングでは、オブジェクト保存時のデータベースへの書込みのため、各フィールドに対するフィールド変換メソッドも必要です。変換メソッドは、各フィールドをメソッドと関連付けるディクショナリで指定されます。メソッドはそのフィールドに格納される値を返します。

図5-14にトランスフォーメーション・マッピングが示されています。B_DATEフィールドおよびB_TIMEフィールドの値は、birthDate属性に格納されるjava.util.Dateの作成に使用されます。

図5-14 トランスフォーメーション・マッピング

This figure shows a transformation mapping between a Java class and a relational database.


関連項目

TopLinkマッピング・タイプについて
直接マッピングの使用

 

Javaオブジェクトのトランスフォーメーション・マッピングの作成
CMP EJBのトランスフォーメーション・マッピングの作成

 

Copyright © 1997, 2004, Oracle. All rights reserved.