CMP フィールドの追加または除去

コンテナー管理パーシスタンス (CMP) フィールド、または属性は、 コンテナーでパーシスタンス管理を処理しなければならない Bean クラスの変数を定義します。

最初に CMP エンティティー Bean を作成する際、Bean にパーシスタンス・フィールドもしくは属性を追加するオプションがあります。

ただし、後で CMP フィールドをエンティティー Bean に追加し、 場合によってはそれをキー・フィールドとして定義すると決めた場合は、 EJB デプロイメント記述子エディターを使用することができます。例えば、Customer という CMP エンティティー Bean を作成して、後でエンティティー Bean に、CMP フィールド email を追加したい場合があります。 CMP フィールドを追加および除去するには、EJB デプロイメント記述子エディターの 「Bean」 ページを使用します。

注: 1 つ以上の CMP Bean 間に関係が存在する場合、1 つの CMP のキーの形状を変更すると、関連した CMP が再生成されます。

EJB デプロイメント記述子エディターを使用して CMP フィールドを追加する方法:

  1. EJB デプロイメント記述子エディターの「Bean」ページで、CMP エンティティー Bean を選択する。
  2. 「CMP フィールド」セクションの横の「追加」ボタンをクリックする。「CMP フィールド」ダイアログ・ボックスが開き、現行の CMP フィールドがリストされます。 注意: エンタープライズ Bean がバイナリーの場合 (赤色)、その Bean に CMP フィールドを追加することは許可されません。
  3. 追加」をクリックする。
  4. 名前」フィールドに CMP フィールドの名前を指定する。この場合、その CMP フィールド名はエンティティー Bean クラスで固有の名前でなくてはなりません。
  5. 」フィールドに、CMP フィールドの型を、型名を入力するか、 ドロップダウン・リストから型を選択するかのいずれかによって指定する。 ドロップダウンには、Java™ プリミティブ型を含む、型のリストが含まれています。 「参照」をクリックして、 EJB プロジェクトのクラスパスに存在する他の型を選択することもできます。 リスト内の型のクラス名を入手すると、完全修飾名が表示されます。
  6. CMP フィールドを 1 つに配列したい場合は、「配列」チェック・ボックスを選択して、 配列のディメンション数を指定する。
  7. CMP フィールドをキー・フィールドとして定義するには、 「キー・フィールド」チェック・ボックスを選択する。 この場合、この選択が子 Bean であればオプションではありません。 CMP Bean には、キー・フィールドは必須です。 CMP キー・フィールドが、Bean およびキー・クラスの両方に追加されます。 ホーム・インターフェースの create メソッドは、この新規タイプを組み込むように変更されます。
  8. EJB 1.1 Bean の場合、以下のオプションを使用できます。
    • CMP フィールドの値を検索および設定するメソッドを生成するには、 「getter および setter メソッドでアクセスする」チェック・ボックスを選択する。
    • これらの生成されたメソッドをリモート・インターフェースにプロモートしたい場合は、「getter および setter メソッドをリモート・インターフェースにプロモート」チェック・ボックスを選択する。「getter および setter メソッドでアクセスする」を選択する場合のみ、このオプションは使用可能です。
    • getter メソッドを読み取り専用に指定するには、 「読み取り専用にする」を選択する。 こうすると、WebSphere® Application Server コンテナーに、 getter メソッドが CMP エンティティー Bean の CMP フィールドをどれも更新しないことが通知されます。 このコンテナーは、getter メソッドが呼び出された後、Bean のデータをデータベースに書き戻さないので、 性能を改善することができます。 「getter および setter メソッドをリモート・インターフェースにプロモート」を選択する場合のみ、このオプションは使用可能です。
  9. EJB 2.x Bean については、キー・フィールドを作成しない場合、以下のオプションを使用できます。
    • getter および setter メソッドをリモート・インターフェースにプロモートする
    • getter および setter メソッドをローカル・インターフェースにプロモートする
  10. 適用」をクリックします。追加の CMP フィールドがある場合はステップを繰り返し、 「閉じる」をクリックします。
  11. 終了」をクリックする。新規 CMP フィールドが Bean 定義に追加されます。
注: CMP フィールドを除去するには、EJB デプロイメント記述子エディターの Bean ページで「除去」ボタンをクリックします。
関連概念
キー・クラスとキー・フィールド
関連タスク
Bean へのクライアント・ビューまたはインターフェースの追加

フィードバック