汎用JDBCに対するカスタム型マップの指定
業界標準に準拠したSQL型を使用し、独自のデータ型を使用するデータベースに接続している場合は、カスタム型マップの定義が必要になる場合があります。
カスタム型マップを指定するには、次のようにします。
- マッピングを定義するカスタム型マップ・クラスを作成し、クラスをコンパイルします。
- クラスパスに型マップ・クラスを指定します。
- JDeveloperを終了します。
- テキスト・エディタで、
[jdev_home]/jdev/bin
ディレクトリのjdev.conf
を開きます。
- カスタム型マップ・クラスが存在するクラス・ディレクトリを指定する新規エントリを追加します。
- AddJavaLibPathディレクティブを使用して、ライブラリ(.jarファイルおよび .zipファイル)を含むディレクトリを追加します。
- AddJavaLibFileディレクティブを使用して、単一名のライブラリを追加します。
- AddJavaLibFileディレクティブを使用して、*.classファイルを含むコンパイル済プロジェクトのルート・ディレクトリを追加します。
次に例を示します。
AddJavaLibFile ../mywork/workspace_name/project_name/classes
- ウィザードから型マップ・クラスにアクセスできるようにします。
- テキスト・エディタで、
[jdev_home]/jdev/system
ディレクトリのjbo.properties
を開きます。
-
oracle.jbo.TypeMap#=<shortname> ,<fullclassname>
という行を追加します。#
は新しい型マップ・クラスごとに増分する整数、<shortname>
はウィザードに表示される型マップの名前、<fullname>
は型マップ・クラスのフルパスです。
たとえば、oracle.jbo.TypeMap2=DB2,<package_name>.<class_directory>
oracle.jbo.TypeMap1=Access,mypackage.AccessTypeMap
のように指定します。
注意: この例では、AccessTypeMap.class
およびDB2TypeMap.class
は、(パスや .class
拡張子ではなく)クラス名のみで参照されることに注意してください。これらの2つのクラスは、すでにクラスパスに存在するものとみなされます。存在しない場合は、パッケージ修飾名を使用する必要があります。
- JDeveloperのデフォルトのプロジェクト設定を変更して、Oracle ADF Business Componentsランタイム・ライブラリと新規のユーザー・ライブラリを含めます。
- JDeveloperを起動します。
- 「プロジェクト」メニューから「デフォルトのプロジェクト設定」を選択します。
- ナビゲーション・ツリーで、「ライブラリ」をクリックします。
- 「Business Components Runtime」を「選択済のライブラリ」リストに移動します。
- 「新規」をクリックして、新しいユーザー・ライブラリを作成します。
- ライブラリ名を入力します(例: myTypeLib)。
- 型マップ・クラスへのクラスパスを入力します。絶対パス(例: C:/JDeveloper/..)を指定することも、相対パスを指定することもできます。
- 「OK」をクリックします。
- 新規のビジネス・コンポーネント・プロジェクトを作成します。ビジネス・コンポーネント・プロジェクト・ウィザードの「接続」ページで、ドロップダウン・ボックスから型マップを選択します。
ビジネス・コンポーネントを作成した場合、新しく作成したコンポーネントには、クラスに指定された型マップが定義されます。
- サンプルの型マップ・クラスを使用する場合は、同じ型マップ(DEPTおよびEMPなど)を使用する表を選択します。
Copyright © 1997, 2004, Oracle. All rights reserved.