CMP マッピングの構成
関連項目
Sun Java System Application Server に配備する場合、EJB モジュールの CMP マッピングは、そのモジュールの src/conf/sun-cmp-mappings.xml ファイルに書き込まれます。次のような状況では、エンティティー Bean の CMP マッピングの変更が必要になることがあります。
- 生成されたデフォルトが適切でない
- Bean を変更した
- スキーマを変更した
Sun 構成エディタでの Bean のマッピングでは、Bean ごとにスキーマおよび主表を指定します。各 Bean は、単一のデータベーススキーマ内の少なくとも 1 つの表にマッピングする必要があります。Bean を二次表にマッピングすることもできます。コンテナ管理による関係で関連付けられたすべての Bean は、同じスキーマ内の表にマッピングする必要があります。
CMP エンティティー Bean をデータベースにマッピングする
- データベーススキーマがない場合は、「新規ファイル」ウィザードで「データベース」>「スキーマ」を選択し、プロジェクトの src/conf ディレクトリにスキーマを保存することによってスキーマを取り込むことができます。
- 「プロジェクト」ウィンドウで、EJB モジュールの「構成ファイル」ノードを展開し、sun-cmp-mappings.xml または sun-ejb-jar.xml ファイルをダブルクリックします。
- ファイル (sun-cmp-mappings または sun-ejb-jar.xml) がテキストモードで開かれていると、ビジュアルエディタを開くことができません。その場合は、ソースエディタでテキストモードのすべてのタブを閉じる必要があります。
- 「Sun 構成」ノードを展開し、マッピングする Bean を選択します。
- 選択した Bean の「CMP マッピング」タブで「詳細設定」をクリックし、ダイアログのコンボボックスからデータベーススキーマを選択して、「了解」をクリックします。
- 「CMP マッピング」タブの「主表」ドロップダウンリストから Bean に対する主表を選択します。
- 「すべてを自動マッピング」をクリックすると、スキーマに従ってフィールドを自動的にマッピングできます。ただし、正しくマッピングされないフィールドがある場合は、手動でそのフィールドをマッピングする必要があります。たとえば「フィールド」の名前と「マップされた列」の名前が一致しない場合、IDE は、それらのフィールドを互いにマッピングすべき関係として認識しないことがあります。
- Bean フィールドを手動でマッピングするには、「マップされた列」列で適切なエントリを選択します。次のどれかを選択できます。
- 1 つの列名。主表の単一列にフィールドをマッピングします。
- <複数列にマップ>。主表と二次表の複数の列にフィールドをマッピングします。
- <マップされた関係>。2 つの表の間にコンテナ管理による関係を設定します。
保存を行うと、加えた変更が sun-cmp-mappings.xml ファイルに保存されます。
- データベースメタデータ (スキーマファイル) を取り込まずにマッピングファイル (sun-cmp-mappings.xml) を使用している場合、「フィールドマッピング」表にはマッピングは表示されません。しかし、そのマッピングファイルは有効であり、配備可能です。引き続き、このマッピングファイルを使用できます。
- 関連項目
- EJB 2.1 CMP マッピングについて
- データベースからの CMP エンティティー Bean の生成
- データベーススキーマの取得
- CMP マッピングの構成
- 複数列への CMP フィールドのマッピング
著作権と商標について