JPublisherにより、Oracle9i サーバーにおいてJava言語アプリケーションでユーザー定義のオブジェクト型を使用することが可能になります。使用可能なオブジェクトは、ユーザー定義のオブジェクト、VARRAY、ネストした表、索引付き表またはオブジェクト型へのREFです。Java言語アプリケーションでオブジェクト・データにアクセスする場合、Javaの形式でデータを表す必要があります。JPublisherでは、オブジェクト型とJavaクラスとのマッピング、およびオブジェクト属性型とそれに対応するJava型とのマッピングを作成することで、これを容易にしています。
マッピングは、次の項目により決定されます。
またJPublisherは、オブジェクトの各属性に対するgetおよびsetアクセッサ・メソッドを生成し、オプションでオブジェクトの各ストアド・プロシージャに対するラッパー・メソッドを生成します。ラッパー・メソッドは、データベースで実行されるストアド・プロシージャをコールするメソッドです。元のオブジェクト・メソッドがstaticの場合でも、JPublisherにより生成されるラッパー・メソッドは常にインスタンス・メソッドになります。
次の表は、JPublisherがオブジェクトに対して生成するJavaクラスの型をまとめたものです。
SQL型 |
Javaクラス・マッピング |
---|---|
ユーザー定義オブジェクト型 |
オブジェクトの各属性をgetおよびsetするアクセッサ・メソッドと、オブジェクトのストアド・プロシージャをコールするラッパー・メソッド(オプション)を含むJavaクラス |
VARRAY、 |
次のものをgetおよびsetできるJavaクラス
|
オブジェクト型へのREF |
REFが参照するオブジェクトをgetおよびsetするJavaクラス |
JPublisherにより生成されたクラスは、oracle.sql.CustomDatumインタフェースまたはjava.sql.SQLDataインタフェースを実装します。いずれのインタフェースも、データベースとJavaプログラム間でのオブジェクト型インスタンスの転送を可能にします。oracle.sql.CustomDatumインタフェースを使用することをお薦めします。