OracleオブジェクトをOracle ADF Business Componentsとして使用する場合の制限事項

Oracleオブジェクトをビジネス・コンポーネントとして使用する場合には、次のような制限事項があります。

有効範囲付REFおよび有効範囲なしREFの使用

REFには、有効範囲付および有効範囲なしの2種類があります。

順方向生成では、有効範囲なしREFはサポートされておらず、オブジェクトのメソッドやネストした表もサポートされません。

属性へのアクセス

ビュー・オブジェクトでは、<オブジェクト名>.<属性名>の記述方法のサポートが制限されています。ドメインとしてマップされている場合、必要な属性のみではなくオブジェクト全体がメモリーに取り込まれます。
次に例を示します。

SELECT id, address.street
FROM customer c
etc...

addressドメイン・オブジェクト全体が取り込まれるため、これはビジネス・コンポーネントでは機能しません。

XMLのみのビジネス・コンポーネント

XMLコンポーネントのみを持つビジネス・コンポーネントではオブジェクト型を使用できません。これを使用すると、エラーJBO-30003が発生します。これは、オブジェクト構造と構成要素属性の定義がJavaで作成されているためであり、実行時ドメインStruct.javaの実装はXMLを解析できません。

ネストした表

ネストした表のドメインを作成できません。

オブジェクト・メソッドのマッピング

データベース・メソッドとエンティティ・メソッド間にマッピングはありません。また、オブジェクトに作成されたメソッドもサポートされていません。

状態の変化は維持されない

Oracleオブジェクト型は、可変ドメインです。ただし、その変化した状態は、ビジネス・コンポーネント・フレームワークでは維持されません。変更されたドメインは、データベースに変更を反映するために、setAttribute()メソッドまたは変数メソッドを使用して行オブジェクトに設定する必要があります。


Oracleオブジェクト型の表現