関係役割をキーに追加

キー・クラスに関係役割を追加する必要があります。

追加する関係役割には、以下の特性がなければなりません。

さらに、キーを追加する必要があるエンタープライズ Bean は、 ルート Bean でなければなりません (スーパータイプからは継承しません)。 これは、継承された Bean はスーパータイプの主キー・クラスを使用する必要があるため、 キー・クラスの形状を変更できないからです。

次のタスクは 2 つのエンタープライズ Bean を参照します。 1 つには役割 (この Bean) が含まれ、1 つは役割内に表示されます (もう一方の Bean)。

  1. J2EE パースペクティブの「プロジェクト・エクスプローラー」ビューで、 EJB プロジェクトのデプロイメント記述子を右マウス・ボタンでクリックして、 「アプリケーションから開く」 > 「デプロイメント記述子エディター」を選択し、デプロイメント記述子エディターを開く。
  2. Bean」ページで、キーに追加する関係役割が含まれているエンタープライズ Bean を追加し、 「関係」セクションにスクロールする。
  3. キーに追加」をクリックします。

このアクションにより、もう一方の Bean のキー・フィールドが、 この Bean のキー・クラスと Bean クラスの両方に追加されます。 役割が主キーに追加されると、アソシエーションも再生成されます。

アソシエーションから Bean を除去するときは注意が必要です。 役割の 1 つをいずれか 1 つの Bean のキーに追加した場合は、 キー内で役割を持つ Bean をもう一方の Bean より先に除去する必要があります。 データベースの制約により、こうする必要があります (役割がキーの一部でなくても同様です)。 しかし、データベースの制約がない場合でも、依然として問題が発生します。 例えば、1 対 1 のアソシエーションで Customer Bean と Address Bean を 持っている場合に、 Address Bean の顧客役割が外部キーを持ち、顧客役割が Address Bean の主キーであるとします。 先に Address Bean を除去しないで Customer Bean を除去した場合、アソシエーション保守コードは Address Bean の顧客役割外部キーを NULL に設定しているときに、Address Bean の主キーも NULL に設定しようとします。

関連タスク
セキュリティー ID (Bean レベル) の追加
EJB モジュールのセキュリティー役割の定義
セキュリティー役割参照の追加

フィードバック