エンタープライズ Bean とリレーショナル・データベース表間の初期マッピングを作成するには、トップダウン、ボトムアップ、Meet-in-the-Middle の 3 つの一般的なアプローチがあります。
エンタープライズ Bean からデータベース表へのマッピングには、EJB ツールの中の EJB マッピング・ウィザードと、次の開発アプローチを使用することができます。
エンタープライズ Bean の定義が完了した後、スキーマおよびマップを生成することができます。
EJB プロジェクト内で CMP エンティティーをサポートするために、表のセットが生成されます。 それらの表では、列がそれぞれ エンタープライズ Bean の CMP フィールドに対応し、生成されたマッピングによりフィールドが列にマップされます。 関係は外部キー関係にマップされます。
デフォルトでは、EJB 継承の階層は単一の表にマップされます。 つまり、ベースと、派生されたすべての エンタープライズ Bean が、同じデータベース表にマップされます。 追加オプションとして、リーフ・エンタープライズ Bean 用の結合表を生成するサポートがあります。
注: Bean を手操作でマップしない場合、 デフォルト・データベース・ベンダーとして IBM® DB2® Universal Database バージョン 8.1 を使用してデプロイメント・コードを生成すると、トップダウン・マッピングが自動生成されます。
このアプローチでは、エンタープライズ Bean のフィールドを、選択したスキーマ内の表の対応する列へそれぞれマップします。 役割には 2 つの端があり、1 つの端 (または 1 つの役割) を外部キーにマップすると、 もう 1 つの端も同じ外部キーに自動的にマップされます。
さらに、ソース・データベースまたは JAR ファイルが時間の経過とともに変更されていても、 マッピング文書とともに保管されているマッピング・コマンドを「再実行」すれば、 マップと結果の表または Beanをそれらの変更に合わせて更新することができます。
必須のマップに欠落がある場合は、マップ・ファイルの保管の際またはプロジェクトの妥当性検査の実行の際に、 欠落しているマップごとにエラーが作業リストに表示されます。 これにより、エラーを修正してマップを完了するまで、EJB デプロイメント・コード生成の実行が防がれます。
バックエンド・フォルダー
この製品では、複数のバックエンド がサポートされるため、 実行時に単一の EJB モジュール内で複数のデプロイメントが構成可能になります。 トップダウンと Meet-in-the-Middle の 2 つのマッピング・アプローチは、複数バックエンドをサポートします。 ボトムアップ・マッピングは単一バックエンドのみをサポートします。 1 つのバックエンドは、複数の異なるデータベース・ベンダーを表すことができます。また、単に、代替マッピングと表修飾子を表すこともあります。 複数のバックエンドが存在する場合は、EJB デプロイメント記述子エディターで現行バックエンド ID を設定する必要があります (EJB 2.x Bean を処理する場合)。 WebSphere® Application Server バージョン 5.0 に JAR がインストールされている場合は、このマッピング/デプロイメントが実行時に使用されます。 EJB 2.x プロジェクト内で EJB 1.1 Bean をデプロイする場合、EJB 1.1 Bean は最初に宣言されたデータベースおよび型を使用して 1 回だけデプロイされます。