トランスフォーメーション・マッピングは、Javaで表されている値とデータベースで表されている値の特別な変換に使用します。
一般的に、オブジェクトの作成に複数のフィールドの値が使用される場合はトランスフォーメーション・マッピングが適切です。このマッピング・タイプでは、データベースからのオブジェクトの読取り時に起動される属性変換メソッドを示すことが必要です。このメソッドには、DatabaseRowのインスタンスであるパラメータが少なくとも1つ必要です。属性変換メソッドでは、get()メッセージをDatabaseRowに送信して特定の列の値を取得できます。属性変換メソッドは、Sessionのインスタンスの場合は2番目のパラメータを指定できます。Sessionはデータベースで問合せを実行して、変換で必要な追加の値を取得します。メソッドは属性に格納される値を返します。
トランスフォーメーション・マッピングでは、オブジェクト保存時のデータベースへの書込みのため、各フィールドに対するフィールド変換メソッドも必要です。変換メソッドは、各フィールドをメソッドと関連付けるディクショナリで指定されます。メソッドはそのフィールドに格納される値を返します。
図5-14にトランスフォーメーション・マッピングが示されています。B_DATEフィールドおよびB_TIMEフィールドの値は、birthDate属性に格納されるjava.util.Dateの作成に使用されます。
図5-14 トランスフォーメーション・マッピング
Copyright © 1997, 2004, Oracle. All rights reserved.