既存 エンタープライズ Bean と既存データベース・スキーマがある場合は、
データベース表への エンタープライズ Bean のマッピングに Meet-in-the-Middle アプローチを使用することができます。
「マッピング」ウィザードは、エンタープライズ Bean とデータベース表で検出された一致項目をベースにして、
map.mapxmi ファイルを生成します。
多くのケースでは、さらにマッピング・エディターで map.mapxmi ファイルを開いて、マッピングの構成を完全にする必要があります。
Meet-in-the-Middle マッピングを生成するには、次のようにします。
- J2EE パースペクティブで、EJB プロジェクトを右クリックし、
を選択する。
マッピング・エディターを開いている場合は、このオプションを選択できません。
- EJB 2.x プロジェクトについて、
「新規バックエンド・フォルダーの作成」または「既存のバックエンド・フォルダーを使用」を選択する。
以前にマッピングを生成してあって、既存バックエンドの使用を選択する場合は、
この時点で次のオプションの 1 つを選択する必要があります。
- 「非マップ・エレメントの作成およびマップ」: バックエンドまたはエンタープライズ Bean に変更を行った場合に、
それに対応して新規エレメントを作成しマップを更新するには、このオプションを使用します。
- 「選択されたバックエンド・マップでマッピング・エディターを開く」: マッピング・エディターを開いてマッピングの手動更新を行うには、
このオプションを使用します。
「終了」をクリックして、アクションを実行し、ウィザードを終了する。
- バックエンド・フォルダーの新規作成を選択した場合は、
「次へ」をクリックして、初期 Meet-in-the-Middle マッピングの作成を継続する。
- 「Meet-in-the-Middle」を選択して、「次へ」をクリックする。
- Meet-in-the-Middle マッピングに使用する突き合わせのタイプとして、次のいずれかを指定する。
- なし: ウィザードは EJB JAR をデータベースにマップしますが、
データベース・エレメントからエンタープライズ Bean エレメントへはマップしません。
- 名前で突き合わせ: ウィザードは Bean 名と表名の完全一致に基づいてマップします。
さらに、属性名と列名の完全一致もマップします。
- 名前と型で突き合わせ: ウィザードは一致する名前に基づいてマップし、
さらに一致する型に基づいてマップします。
- データベース表を EJB プロジェクトにまだインポートしていない場合、
ウィザードは「データベース接続」ページを開く。
ウィザードのこのページに関する詳細な指示については、
JDBC 接続の作成を参照してください。
このステップを既に完了している場合は、ドロップダウン・リストから既存の接続を選択することもできます。
- 「終了」をクリックする。
ウィザードは、指定された Meet-in-the-Middle オプションに基づいてマッピング・ファイルを生成します。
これで、マッピング・エディターで map.mapxmi ファイルを開いて、マッピングをさらに構成することができます。
ウィザードはすべての Bean または属性を突き合わせるとは限りません。
したがって、エンタープライズ Bean のフィールドが、
選択したスキーマ内の表の対応する列にそれぞれマップされていることを確認する必要があります。
さらに、関連役割をそれぞれ外部キー関係にマップする必要があります。
エンタープライズ Bean の永続的フィーチャーがすべてスキーマ内のコンポーネントにマップされるまで、
マッピングを構成してください。
制約事項: - 名前による突き合わせでは、完全一致だけが処理されます。
WebSphere® Application Server バージョン 3.5 互換スイッチを使用してスキーマを生成した場合、
または WebSphere Application Server バージョン 3.5 JAR をインポートした場合は、
表名に 'tbl' が追加され、認識されなくなります。
- 継承マッピングの場合、固有のフィールドを持たない子 Bean はマップされません。
これらは手操作で親表にマップする必要があります。