Bean 関係の定義

EJB デプロイメント記述子エディターを使用して、EJB モジュール内の 2 つのエンタープライズ Bean の関係を指定します。

重要: EJB 1.1 Bean の関係は、EJB 1.1 仕様に対する WebSphere® Application Server 拡張機能です。EJB 2.x Bean の関係は、EJB 2.x 仕様の一部です。 プロジェクトが WebSphere Application Server ランタイム環境用ではない場合、 エディターに EJB 1.1 関係のセクションは表示されません。 この 2 つのレベルの関係は、デプロイメント記述子エディターの異なるセクションで別々の処理します。

EJB デプロイメント記述子エディターは、作成する関係をサポートするための適切な finder メソッドを生成します。

1 つの CMP Bean から別の CMP Bean への関係を定義する場合、 参照 CMP Bean のキー・フィールドに基づいた追加の CMP フィールドが、前方向参照役割の所有 CMP Bean に追加されます (所有 CMP Bean 上の「外部キー」チェック・ボックスが選択されています)。

例えば、Company は Employee に対して「1:多」の関係を持っており、それぞれ会社の役割と従業員の役割を持っています。 会社の役割が前に置かれます。 そして、Company CMP Bean には「companyID」および「companyName」というキー・フィールドがあります。 Employee Bean に自動的に追加される CMP フィールドは、「company_companyID」および「company_companyName」となります。 これらのフィールドは、「従業員」関係役割をサポートするために追加されたフィールドであるため、 EJB エディター内では非表示となります。関係がまだ存在している間に、 これらの CMP フィールドを ejb-jar.xml ファイルから除去すると、問題が発生します。

関係が作成されると、追加クラスが作成されて、ランタイムをサポートし、これら 2 つの Bean 間のリンクを保守します。 さらに、追加のメソッドが両方のエンタープライズ Bean のホーム、リモート、および Bean の各クラス内に生成されます。 関係が初めて作成された場合は、EJB デプロイメント記述子エディターでコンパイル・エラーが発生します。 これは、生成リンク・クラスはコンパイルする必要があるためです。 これらのファイル内には実際のコードが記載されていますが、ホーム、リモート、 および Bean の各クラスの変更は、まだコンパイルされていません。 コンパイルは、プロジェクトがビルドされるまで行われません。 これは、EJB デプロイメント記述子エディターまたは EJB エディターが保管されると、自動的に実行されます。 したがって、エディターが保管されるまで、コンパイル・エラーは発生しません。

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

Java™ アプリケーションからエンタープライズ Bean にアクセスする場合は、以下の JAR ファイルをクラスパスに追加します。
  • ivjejb35.jar
  • vaprt.jar

例えば、関係を使用しており、リモート・インターフェース上で、エンタープライズ Bean の列挙型を戻す関係メソッドを呼び出す場合、 そのメソッド呼び出しはこれらの JAR ファイルをクラスパスに追加しない限り、例外をスローします。

関連概念
EJB デプロイメント記述子エディター
EJB 関係
関連タスク
EJB 2.0 Bean の関係を作成
ご利用条件フィードバック
(C) Copyright IBM Corporation 1999, 2004. All Rights Reserved.(C) Copyright IBM Japan 2005.