ビジネス・コンポーネントとしての列オブジェクトの表現

データベース内の列オブジェクトは、Oracle ADFドメインで表現されます。ドメインは複雑なデータ型の記述に使用できます。

たとえば、従業員に関する情報を保持するデータベース表を作成するとします。この場合、次のSQLコードでEMPLOYEE表を作成できます。

CREATE TABLE Employee 
      (
       EmpId Number,
       Name VARCHAR2(30),
       Street VARCHAR2(30),
       City VARCHAR2(25),
       State CHAR(2),
       Zip  Number
       );    

Oracleオブジェクトを使用する場合は、住所の個々のメンバーを記述するかわりに、Street、City、StateおよびZipという要素を含む住所の型を作成できます。この新しいデータ型をaddress_tとします。address_tデータ型の定義は次のとおりです。

CREATE TYPE address_t AS OBJECT  -- a user defined datatype
      (
       Street VARCHAR2(30),
       City VARCHAR2(25),
       State CHAR(2),
       Zip  Number
       );    

住所の個々のメンバーのかわりにaddress_tデータ型を使用できます。address_tデータ型を使用してEMPLOYEE表を作成すると、次のようになります。

CREATE TABLE Employee 
      (
       EmpId Number,
       Name VARCHAR2(30),
       Address address_t  -- note the Oracle Object datatype
       );    

このように作成されたOracleオブジェクト型は、ビジネス・コンポーネントのドメインとして表されます。データソースからデフォルトのビジネス・コンポーネント・プロジェクトを作成すると、これらのドメインが自動的に作成されます。

ドメインを削除すると、そこに「含まれる」すべてのドメインも同様に削除されます。ただし、その逆は当てはまりません。内部ドメインを持つドメインを作成すると、内部ドメインを作成するデフォルト・コンストラクタを編集する必要があります。それ以外の場合内部ドメインは作成されません。前述の例では、新しい顧客レコードを作成すると、またはそれを実行するデフォルト・コンストラクタを変更するたび、address_tドメインでcreate()をコールする必要があります。


Oracleオブジェクトをビジネス・コンポーネントとして表現する方法