「O/Rマッピングの役割とメリット」の編集履歴(バックアップ)一覧に戻る

O/Rマッピングの役割とメリット - (2005/09/06 (火) 10:30:27) のソース

JAVA-RDB めんどくさい処理がたくさん<br>
<ul>
<li>
SELECTで取得したRecordSetを分解してオブジェクトに組み立てなおす</li>
<li>
データのUPDATEやINSERTの際にオブジェクトからデータを取り出してSQL文を構築する</li>
<li>
DBスキーマが変更されたときアプリケーション内のSQLを広範囲にわたって修正しないといけない</li>
</ul>
→O/Rマッピングで解決!<br>
Objectとレコードをマッピングすることにより<br>
<ul>
<li>オブジェクトへのデータ取得</li>
<li>オブジェクトデータの永続化</li>
</ul>
といった処理を透過的に行うことができる、まためんどくさい作業も軽減できる。<br>

<br style="color: rgb(255, 153, 0);">
<span style=
"color: rgb(255, 102, 0);">O/Rマッピングによるマッピング処理</span><br>

対象オブジェクトを「データベース更新メソッド」の引数に渡すだけで済み、SQLを組み立てるプログラムをかかなくていい。<br>

DBのカラムに変更があってもデータクラスのフィールドを追加するだけで、保存手続きのロジックに大きな変更は発生しない。<br>

<br>
どんなO/Rマッピング製品でも検索結果としてはデータがマッピングされたオブジェクトインスタンスを取得できる。<br>

<br>
<span style="color: rgb(255, 153, 102);"><span style=
"color: rgb(255, 102, 0);">O/RマッピングでSQLが不要になるか?</span><br>

<span style="color: rgb(0, 0, 0);">ならない<br>
実際のO/Rマッピングフレームワークでは内部的にSQLを発行している。パフォーマンスチューニングやデバッグを行う際には必ずSQLをメンテナンスすることになる。<br>
</span><br></span><span style=
"color: rgb(255, 102, 0);">マッピングの解決方法</span><br>
<br>
O/Rマッピングはめんどくさい処理を全部O/Rマッピングフレームワークが引き受けてくれる。<br>

<br>
以下マッピングの流れ<br>
<ol>
<li>
あらかじめ、クラスのフィールドとテーブルカラムの対応付け(マッピング)をXMLファイルなどの外部ファイルで定義しておく</li>
<li>
O/Rマッピングフレームワークがクラスのフィールドとテーブルカラムのマッピングを処理する。</li>
<li>
開発者はO/Rマッピングフレームワークによって生成されたクラスを用いて、フレームワークの提供するAPIを使って「保存」や「検索」処理を行う。</li>
</ol>
XMLファイルの記述とかいろいろめんどうに思うかもしれないがO/Rマッピングフレームワークはマッピング定義を記述したファイルから「DBスキーマ」や「クラスのソースコード」を自動生成する仕組みを持っているので、いろいろ楽。<br>

<br>
またアプリケーションの外部にマッピング定義を切り出すことによりDBとAPPの結合度を弱めることができる。<br>

<br>
いいことばっかり☆<br>
<br>
<br>
<br>
記事メニュー
目安箱バナー