これらのツールは、エンティティ・オブジェクトの作成および編集に使用する。また、ビジネス・コンポーネント・プロジェクト・ウィザードおよびビジネス・コンポーネント・パッケージ・ウィザードまたはパッケージ・エディタでデフォルトのエンティティ・オブジェクトも作成できる。エンティティ・オブジェクトは、既存の表に基づいて作成(逆方向生成)することも、データベース表の作成に使用(順方向生成)することもできる。
エンティティ・オブジェクト・ウィザードでエンティティ・オブジェクトを作成するには、ビジネス・コンポーネント・プロジェクトが開いている状態で、次のいずれかを行う。
「ファイル」->「新規」を選択し、「Business Tier」->「Business Components(BC4J)」を選択して「エンティティ・オブジェクト」をダブルクリック
ナビゲータで、ビジネス・コンポーネント・パッケージを右クリックし、「新規エンティティ・オブジェクト」を選択
エンティティ・オブジェクトを編集するには、ナビゲータでエンティティ・オブジェクトを右クリックし、「objectの編集」を選択する。または、このファイルをダブルクリックする。
エンティティ・オブジェクトを作成する場合、ウィザードを使用して次の情報を指定できる。ここでは、ページごとに説明する。
「名前」ページ。エンティティ・オブジェクトの名前(この名前は、表名と同じ名前にするか、表名がエンティティ・オブジェクトの用途に合わない場合や、別の言語を使用する場合などは、別の名前を使用できる)、エンティティ・オブジェクトを含めるパッケージ、およびエンティティ・オブジェクトが拡張するクラス(このクラスはoracle.jbo.server.EntityImplから直接または間接的に拡張する必要がある)。オプションとして、エンティティ・オブジェクトの作成に使用するデータベース表(あるいは、ビュー、シノニムまたはスナップショット)、およびこれらの表内にすでに存在している結合に基づくAssociationを指定する。
「属性」ページおよび「属性の設定」ページ。エンティティ・オブジェクトから除外する属性(たとえば、データベース表にあってもエンティティ・オブジェクトに含めない場合)の削除、属性順序の変更(順方向生成に役立つ。属性の順序は表内の列の順序となる)、および新規属性の定義(たとえば、Javaファイルで計算した値を入れる一時属性、または順方向生成の列を定義する場合)を行う。通常は1つの表に対し、1つのエンティティ・オブジェクトを作成する。複数のエンティティ・オブジェクトがある場合は、更新可能な各属性は1つのエンティティ・オブジェクトにのみ含まれるようにする。設定では、属性と列の名前、属性と列の型、デフォルト、更新可能かどうか(常に、新規の間、なしのいずれか)、リフレッシュするタイミング(更新後または挿入後)、行が変更されたことを示すために使用されるかどうか、およびこの属性が主キー、必須、永続的、問合せ可能、多相化識別子および一意であるかどうかを指定する。一般に、逆方向生成を実行する場合、表から受け取られた「主キー」、「必須」、「データベース列」の「名前」、「データベース列の型」および「一意」の設定は変更しない。順方向生成の場合、「主キー」、「必須」、「永続的」、「データベース列」の「名前」、「データベース列の型」および「一意」の設定が表の生成に使用される。
「Java」ページ。エンティティ・オブジェクトをカスタマイズする場合は、ウィザードでエンティティ定義クラス、エンティティ・オブジェクト・クラス、エンティティ・コレクション・クラスまたはこれらの組合せに対してJavaファイルを生成するよう指定できる。デフォルトではエンティティ・オブジェクト・クラスは生成されるが、その他のクラスは生成されない。
「終了」ページ。オプションで、エンティティ・オブジェクトに指定した属性を含むデフォルト・ビュー・オブジェクトを作成する。ビュー・オブジェクト・エディタでビュー・オブジェクトを編集できる。
エンティティ・オブジェクトを編集する場合、エディタを使用して、ウィザードで表示されるページ(「終了」ページ以外)に加え、次の情報を指定する。
「イベント発行」および「イベント受信」ページ。「イベント発行」ページは、エンティティ・オブジェクトにより発行されるイベントを定義、編集または削除する場合に使用する。ウィザードでは、エンティティ・オブジェクト・クラスおよびエンティティ定義クラスのイベント・コードがJavaファイルに生成される。イベントとともに配信する属性を指定できる。イベントを送信するには、同じ名前のメソッドをコールする。「イベント受信」ページは、エンティティ・オブジェクトがリスニングするイベント(プロジェクトで定義されたもの)を選択する場合に使用する。イベントが起動されると、エンティティ・オブジェクトが、指定されたメソッドをコールすることにより応答する。イベントの配信方法を指定できる。イベントは、プログラム・ロジック(addListener)で受信されているエンティティ・オブジェクトのインスタンスに配信するか、選択されたAssociationを使用することにより、発行側に関連付けられているエンティティ・オブジェクトに配信できる。「発行元と関連付け」を選択すると、このエンティティ・オブジェクトのすべてのインスタンスが、選択したAssociationアクセッサ(「関連」フィールド)で定義された対応する発行側のエンティティ・オブジェクトに自動的にリンクされる。関連付けられた発行側を選択しない場合は、addListener
を使用してプログラムで受信する必要がある。
「プロパティ」ページ。プロパティを追加するには、プロパティ名と値を指定し、「追加」をクリックする。また、既存のプロパティ値の追加および編集、プロパティの削除が可能である。
エンティティ・オブジェクトを生成した後で、表に対して参照整合性制約を追加するには、単にエンティティ・オブジェクト・エディタにアクセスし、「終了」をクリックして新しいAssociationを作成するだけである。データベース表のその他の変更は、エンティティ・オブジェクト・エディタで手動で行うことができる。たとえば、新しい列に対応する属性を追加できる。