汎用JDBCに対するカスタム型マップの指定
業界標準に準拠したSQL型を使用し、独自のデータ型を使用するデータベースに接続している場合は、カスタム型マップの定義が必要になる場合があります。
カスタム型マップを指定するには、次のようにします。
-
マッピングを定義するカスタム型マップ・クラスを作成し、クラスをコンパイルします。
-
クラスパスに型マップ・クラスを指定します。
-
JDeveloperを終了します。
-
テキスト・エディタで、
[jdev_install]/jdev/bin
ディレクトリのjdev.conf
を開きます。
-
カスタム型マップ・クラスが存在するクラス・ディレクトリを指定する新規エントリを追加します。
-
AddJavaLibPathディレクティブを使用して、ライブラリ(.jarファイルおよび .zipファイル)を含むディレクトリを追加します。
-
AddJavaLibFileディレクティブを使用して、単一名のライブラリを追加します。
-
AddJavaLibFileディレクティブを使用して、*.classファイルを含むコンパイル済プロジェクトのルート・ディレクトリを追加します。
次に例を示します。
AddJavaLibFile ../mywork/workspace_name/project_name/classes
-
ウィザードから型マップ・クラスにアクセスできるようにします。
-
テキスト・エディタで、
[jdev_install]/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, 2006, Oracle. All rights reserved.