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