EJB JAR ファイル -> 「関係」タブ付きパネル -> 「Sun 固有の設定」ボタン
またはエンタープライズ Bean -> 「一般」タブ付きパネル -> 「Sun 固有の設定」ボタン
またはエンタープライズ Bean -> 「エンティティ」タブ付きパネル -> 「Sun 固有の設定」ボタン
「CMP リソース」ダイアログでは、EJB JAR ファイルのコンテナ管理による持続性プロパティを編集できます。
JNDI 名は、この EJB JAR のエンタープライズ Bean で使用される持続性マネージャファクトリの名前です。この EJB JAR を配備中のサーバーインスタンスで使用可能な JNDI 名を使用します。たとえば、CMP Roster サンプルアプリケーションの場合、JNDI 名は jdo/cmp-roster です。
「表生成の設定」ボタンをクリックすると、この EJB JAR ファイル用の「表生成の設定」ダイアログボックスが開きます。EJB JAR ファイルが配備されるときに配備ツールでデータベースに表を作成するには、「配備時に表を作成」をチェックします。EJB JAR ファイルの配備を元に戻すときに配備ツールでデータベースから表を削除するには、「配備取消し時に表を削除」をチェックします。表名の衝突を回避するには、「一意の表名を生成」をチェックします。配備ツールが表名にハッシュコードを追加し、表名は一意になります。
「フィールドマッピングの作成」ボタンをクリックすると、この EJB JAR ファイル用の「フィールドマッピングの作成」ダイアログボックスが開きます。「必要な表を自動的に生成」を選択すると、配備ツールはこのエンタープライズ Bean 用のデータベースに表を生成します。配備ツールは、「CMP リソース」セクションで指定された JNDI 名に接続を試みます。自動的に表を作成する前に、JNDI 名が正しいこと、およびリソースが使用可能であることを確認してください。
接続が失敗すると、「CMP リソースへの接続失敗」ダイアログボックスが表示されます。「CMP リソースに接続して表を生成」を選択し、「CMP リソースの JNDI 名」に JNDI 名を入力すると、CMP リソースに別の JNDI 名を指定できます。「データソースタイプの汎用の表を生成」を選択し、「データソースのベンダー」に表示されるベンダー用の表を生成します。可能な値は次のとおりです。
データベースの表がすでに存在する場合は、EJB JAR 内に表を説明するスキーマファイルを用意する必要があります。スキーマファイルは、capture-schema コマンド行ツールを使用して作成します。EJB JAR 内にスキーマファイルがない場合は、ダイアログボックスを閉じ、capture-schema を使用してスキーマを作成してから、そのスキーマを EJB JAR に追加します。
EJB JAR にスキーマファイルを追加した場合は、「データベーススキーマファイル内の表へのマップ」を選択し、「モジュール内のデータベーススキーマファイル」でスキーマファイルを選択します。
「Persistent Field Mappings」は、この CMP リソース用に定義したマッピングです。すべての CMP フィールドおよび CMR フィールドは、マッピングする必要があります。「エンタープライズ Bean」ドロップダウンから、マッピングを作成する EJB JAR 内のエンタープライズ Bean を選択します。「主表」ドロップダウンリストから、エンタープライズ Bean を維持する主表を選択します。「フィールド」列には、選択したエンタープライズ Bean のフィールドが一覧表示されます。「マッピングされた列」列には、CMP フィールドを維持するために使用されるデータベース列が一覧表示されます。「タイプ」列には、列データのデータベースタイプが一覧表示されます。「フェッチ」列には、フィールドに使用されたフェッチグループが表示されます。
「すべてを自動マップ」ボタンを使用すると、名前を一致させることにより、フィールドがテーブル列にマッピングされます。「すべてを自動マップ」をクリックすると、現在のマッピングはすべて無効になります。「すべてをマップ解除」ボタンを選択すると、すべてのマッピングが削除されます。