O/Rマッピング
- O/Rマッピングとは
JDBC(リレーショナル・データベース(および、ほとんどすべての表形式のデータ)にアクセスするための、標準Java API)を利用した開発方法でデータベースにアクセスする際の問題点。
を解決した。
O/Rマッピングとは、「オブジェクト」と「リレーショナルデータベース」をマッピング(対応付け)すること。 実装時のデータベース操作にかかわる煩雑な作業を軽減し、「インピーダンスミスマッチ」を解決 。
インピーダンスミスマッチ??????
javaのようなオブジェクト指向の言語で、リレーショナルデータベースを扱う際は、マッピング作業が大変。
これは思想が違うから。この問題のこと。
オブジェクト指向→ プログラムをオブジェクトとして設計する。現実世界のモデルに即したものとしてデータモデルに定義。 (部長のクラス、一般社員のクラス、社長のクラスというふうに捉える。この考えでデータベー分けると、カラムがかぶる)
データベース→正規化で最適なモデルを定義。現実世界のモデルがどうなっているかではなく、数学的世界の事情に基づく。
表形式のデータをオブジェクト形式のデータに対応付けるマッピングコードを作成しよう!!!
2. O/Rマッピングの基本的な流れ
① 基本的な機能
コネクション管理機能(データベースとの接続やコネクションプーリング管理)
自動マッピング機能(XMLファイルなどの外部ファイルにオブジェクトの属性名とテーブルの列名に関するマッピング定義を設定することによって自動的にマッピング処理をする)
マッピングファイル、DTO、DAO(プログラムコードを用いて Microsoft Jetエンジン (Accessデータベースとも言われています)に直接接続し、これらオブジェクトを作成し、修正、削除するための オブジェクトモデル )の自動生成機能
接続情報の管理機能
キャッシュ機能
②処理の流れ
1. データベースの接続情報をXMLファイルに定義(データベース設定ファイル)
2. クラスのフィールドとテーブルカラムの対応付けをXMLファイルに定義(マッピング・ファイル)
3. O/Rマッピングツールがデータベース設定ファイルとマッピングファイルを読み込んで自動的にマッピング処理を行う
4. アプリケーションからO/RマッピングツールのAPIを介してデータベースへアクセス
③メリット
④種類
いろいろ。SQL文を明示的に記述する必要があるタイプと、SQL文を記述する必要がないタイプ(つまりsql自動生成)がある。