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.x Bean の関係を作成

フィードバック