ページの先頭行へ戻る
Interstage Studio ユーザーズガイド
Interstage

C.2.3 CMP Entity Beanを開発する

CMP2.0リレーションを定義する

EJB2.0/EJB2.1仕様のContainer-managed persistence Entity Beanのリレーションは、CMP2.0 リレーション定義ウィザードで定義します。このウィザードはEntity Beanと、別のEntity Beanの関係を設定するために使用します。このためCMP2.0リレーション 定義ウィザードを使用する前に、同一プロジェクト配下に関係を定義するEJB2.0 Container-managed persistence Entity Beanを作成しておく必要があります。

CMP2.0リレーション定義ウィザードは、新規ウィザードから[EJB] > [J2EE] > [CMP2.0リレーション定義]を選択します。以下の設定項目を確認、入力してください。

deployment descriptorの指定

リレーション定義を行うEntity Beanのdeployment descriptorファイルを指定します。

項目

説明

ejb-jar.xmlファイル

ejb-jar.xmlのパスを指定します。

CMP2.0 リレーション情報の指定

Entity Bean間の関係を指定します。

項目

説明

追加

リレーション情報を新規に追加します。
[追加]をクリックすると、"リレーションの追加"画面が表示されます。

削除

一覧で選択しているリレーション情報を削除します。

編集

一覧で選択しているリレーション情報を編集します。
[編集]をクリックすると、"リレーションの編集"画面が表示されます。

Home/Componentインタフェースにリレーション情報を反映する

CMRフィールドのアクセスメソッドをLocalインタフェースに反映したい場合に指定します。
Home/Componentインタフェース生成機能を呼び出すことにより、ウィザードによって定義されたCMRフィールドのアクセスメソッドをLocalインタフェースに反映します。

リレーションの追加/編集

Entity BeanとEntity Beanの関係を指定します。
便宜上、関係を定義するEnterprise Beanの片方をEnterprise Bean A、もう片方をEnterprise Bean Bとしています。

項目

説明

EJBリレーション名

Entity Bean間のリレーション名を指定します。EJBリレーション名は省略可能です。

多重度

Entity Bean間の多重度を指定します。多重度とは、リレーションを構成するEnterprise Beanの対応関係で、1対1、1対多、多対多の関係が存在します。
1対多については、A、Bのどちらでも1側として定義できるため、One:One、One:Many、Many:One、Many:Manyの4種類が指定可能です。

EJBリレーションロール名

リレーションを構成するEntity Beanのリレーションロール名を指定します。EJBリレーションロール名は省略可能です。

Enterprise Bean名

リレーションを構成するEntity BeanのEnterprise Bean名を指定します。

Bean A/Bを参照するフィールド名

相手のEnterprise Beanを参照するCMRフィールド名を指定します。どちらか一方は必ず指定する必要があります。

CMRフィールド型

リレーションの相手となるEnterprise Bean を参照するCMRフィールドの型を指定します。多重度がOne:Many、Many:OneまたはMany:Manyで、相手側が多数の場合にjava.util.Collectionまたはjava.util.Setのどちらかを指定できます。

Bean Aが削除された時に削除、Bean Bが削除された時に削除

リレーション関係にあるEnterprise Beanの片方が削除された場合に、もう片方を削除するかどうかを指定します。

説明

このリレーション定義に関する説明を記述します。説明は省略可能です。

マッピングAタブ

Enterprise Bean Aに指定したEnterprise Beanと対応付けるデータベース情報を指定します。多重度がOne:Oneの場合に、相手のEnterprise BeanのPrimary keyを参照するデータベースのカラムを指定する必要があります。
[マッピングA]タブを選択すると、"マッピングA"画面が表示されます。

マッピングBタブ

Enterprise Bean Aに指定したEnterprise Beanと対応付けるデータベース情報を指定します。多重度がOne:Oneの場合に、相手のEnterprise BeanのPrimary keyを参照するデータベースのカラムを指定する必要があります。
[マッピングB]タブを選択すると、"マッピングB"画面が表示されます。

Joinテーブル

多重度がOne:Many、Many:One、Many:Manyの場合に必要なJoinテーブルの情報を指定します。
[Joinテーブル]タブを選択すると、"Joinテーブル"画面が表示されます。

マッピングA、マッピングBの指定

データベースの表または列をEnterprise Beanのフィールドにマッピングするための情報を指定します。
この画面で指定された情報はCMP拡張情報ファイルに保存されます。

項目

説明

データソース名

対応するEnterprise Beanのフィールドを永続化するデータベースのデータソース名を指定します。

スキーマ名

対応するEnterprise Beanのフィールドを永続化するデータベースのスキーマ名を指定します。

テーブル名

対応するEnterprise Beanのフィールドを永続化するデータベースのテーブル名を指定します。

PK

Primary keyの場合にチェックします。

DBカラム名

永続化フィールドに対応付けるデータベースのカラム名を指定します。

結合先Enterprise Bean名、結合先フィールド名

DBカラム名に対応付ける永続化フィールドのEnterprise Bean名とフィールド名を指定します。多重度がOne:Oneの場合には、相手のEnterprise BeanのPrimary keyの永続化フィールドと対応付けるDBカラムが必要です。

追加

行を新規に追加します。

削除

一覧で選択している行を削除します。

DB参照

データベースの表または列を参照して行を追加します。[DB参照]をクリックすると、ログイン画面が表示されます。

Joinテーブルの指定

多重度がOne:Many、Many:One、Many:Manyの場合に作成されるJoinテーブルの情報を指定します。
この画面で指定された情報は、Enterprise Bean AのCMP拡張情報ファイルに保存されます。

項目

説明

スキーマ名

テーブルとテーブルを関係付けるためのJoinテーブルのスキーマ名を指定します。

Joinテーブル名

テーブルとテーブルを関係付けるためのJoinテーブルのテーブル名を指定します。

PK

JoinテーブルのPrimary key項目をチェックします。多重度のMany側のEnterprise BeanのPrimary key項目がJoinテーブルのPrimary key項目になります。そのため、多重度がMany:Manyの場合には、すべての項目がPrimary keyになります。

DBカラム名

データベースのカラム名を指定します。

結合先Enterprise Bean名、結合先フィールド名

DBカラム名に対応付ける永続化フィールドのEnterprise Bean名とフィールド名を指定します。リレーションを定義する両方のEnterprise BeanのPrimary key項目と対応付けるDBカラムが必要です。

追加

行を新規に追加します。

削除

一覧で選択している行を削除します。

DB参照

データベースの表または列を参照して行を追加します。[DB参照]をクリックすると、ログイン画面が表示されます。

リレーション定義の詳細については、"Interstage Application Server J2EE ユーザーズガイド(旧版互換)"を参照してください。

deployment descriptor(ejb-jar.xml)の編集

deployment descriptor(ejb-jar.xml)の編集は、XMLエディタを用います。編集については、"XMLファイルを編集する"を参照してください。

CMP拡張情報ファイルを作成する

CMP拡張情報ファイルの作成

Enterprise Beanクラスのソースを自分で作成した場合など、何らかの理由で、Enterprise Beanに対応するCMP拡張情報ファイルが存在しない場合、CMP拡張情報ファイルを単体で生成することができます。

CMP拡張情報ファイルは、新規ウィザードから[EJB] > [J2EE] > [CMP拡張情報]を選択し、ウィザードで作成します。ウィザードの設定は以下を参考にしてください。

項目

説明

ejb-jar.xmlファイル

ejb-jar.xmlのパスを指定します。

Enterprise Bean名

ejb-jar.xmlのパスを指定すると、定義されているContainer-managed persistence Entity Beanの一覧が表示されますので、CMP拡張情報ファイルを生成したいEnterprise Beanを選択します。

注意

Java EEコンテナ向けのアプリケーションではCMP拡張情報ウィザードは動作しません。

ポイント

CMP拡張情報ファイルは、指定されたejb-jar.xmlが存在するソースフォルダのルートに生成されます。

CMP拡張情報ファイルの編集

CMP拡張情報ファイルを編集するには、CMP拡張情報エディタを利用します。CMP拡張情報エディタは、CMF(Container-managed Field)とデータベースとの対応付けや、finderメソッドの検索条件を編集するためのエディタです。

CMP拡張情報ファイルの編集は、[プロジェクトエクスプローラ]ビューなどから、FJCMP_(Enterprise Beanクラス名).xmlを選択し、コンテキストメニューで[アプリケーションから開く] > [CMP拡張情報エディタ]を選択します。一度、編集するとエディタが対応付けられるため、ダブルクリックやポップアップメニューの[開く]でもCMP拡張情報エディタを起動することができます。

ポイント

CMP拡張情報エディタでは、XMLをそのまま表示する機能を提供していません。XMLソースを直接編集する場合は、XMLエディタを利用してください。