お勉強メモ
Rマッピングの役割とメリット
最終更新:
匿名ユーザー
-
view
JAVA-RDB めんどくさい処理がたくさん
Objectとレコードをマッピングすることにより
O/Rマッピングによるマッピング処理
対象オブジェクトを「データベース更新メソッド」の引数に渡すだけで済み、SQLを組み立てるプログラムをかかなくていい。
DBのカラムに変更があってもデータクラスのフィールドを追加するだけで、保存手続きのロジックに大きな変更は発生しない。
どんなO/Rマッピング製品でも検索結果としてはデータがマッピングされたオブジェクトインスタンスを取得できる。
O/RマッピングでSQLが不要になるか?
ならない
実際のO/Rマッピングフレームワークでは内部的にSQLを発行している。パフォーマンスチューニングやデバッグを行う際には必ずSQLをメンテナンスすることになる。
マッピングの解決方法
O/Rマッピングはめんどくさい処理を全部O/Rマッピングフレームワークが引き受けてくれる。
以下マッピングの流れ
またアプリケーションの外部にマッピング定義を切り出すことによりDBとAPPの結合度を弱めることができる。
いいことばっかり☆
- SELECTで取得したRecordSetを分解してオブジェクトに組み立てなおす
- データのUPDATEやINSERTの際にオブジェクトからデータを取り出してSQL文を構築する
- DBスキーマが変更されたときアプリケーション内のSQLを広範囲にわたって修正しないといけない
Objectとレコードをマッピングすることにより
- オブジェクトへのデータ取得
- オブジェクトデータの永続化
O/Rマッピングによるマッピング処理
対象オブジェクトを「データベース更新メソッド」の引数に渡すだけで済み、SQLを組み立てるプログラムをかかなくていい。
DBのカラムに変更があってもデータクラスのフィールドを追加するだけで、保存手続きのロジックに大きな変更は発生しない。
どんなO/Rマッピング製品でも検索結果としてはデータがマッピングされたオブジェクトインスタンスを取得できる。
O/RマッピングでSQLが不要になるか?
ならない
実際のO/Rマッピングフレームワークでは内部的にSQLを発行している。パフォーマンスチューニングやデバッグを行う際には必ずSQLをメンテナンスすることになる。
マッピングの解決方法
O/Rマッピングはめんどくさい処理を全部O/Rマッピングフレームワークが引き受けてくれる。
以下マッピングの流れ
- あらかじめ、クラスのフィールドとテーブルカラムの対応付け(マッピング)をXMLファイルなどの外部ファイルで定義しておく
- O/Rマッピングフレームワークがクラスのフィールドとテーブルカラムのマッピングを処理する。
- 開発者はO/Rマッピングフレームワークによって生成されたクラスを用いて、フレームワークの提供するAPIを使って「保存」や「検索」処理を行う。
またアプリケーションの外部にマッピング定義を切り出すことによりDBとAPPの結合度を弱めることができる。
いいことばっかり☆