汎用JDBCに対するカスタム型マップの指定

業界標準に準拠したSQL型を使用し、独自のデータ型を使用するデータベースに接続している場合は、カスタム型マップの定義が必要になる場合があります。

カスタム型マップを指定するには、次のようにします。

  1. マッピングを定義するカスタム型マップ・クラスを作成し、クラスをコンパイルします。
  2. クラスパスに型マップ・クラスを指定します。
    1. JDeveloperを終了します。
    2. テキスト・エディタで、[jdev_install]/jdev/binディレクトリのjdev.confを開きます。
    3. カスタム型マップ・クラスが存在するクラス・ディレクトリを指定する新規エントリを追加します。
      • AddJavaLibPathディレクティブを使用して、ライブラリ(.jarファイルおよび .zipファイル)を含むディレクトリを追加します。
      • AddJavaLibFileディレクティブを使用して、単一名のライブラリを追加します。
      • AddJavaLibFileディレクティブを使用して、*.classファイルを含むコンパイル済プロジェクトのルート・ディレクトリを追加します。

      次に例を示します。
      AddJavaLibFile ../mywork/workspace_name/project_name/classes

  3. ウィザードから型マップ・クラスにアクセスできるようにします。
    1. テキスト・エディタで、[jdev_install]/jdev/systemディレクトリのjbo.propertiesを開きます。
    2. 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つのクラスは、すでにクラスパスに存在するものとみなされます。存在しない場合は、パッケージ修飾名を使用する必要があります。
  4. JDeveloperのデフォルトのプロジェクト設定を変更して、Oracle ADF Business Componentsランタイム・ライブラリと新規のユーザー・ライブラリを含めます。
    1. JDeveloperを起動します。
    2. 「プロジェクト」メニューから「デフォルトのプロジェクト設定」を選択します。
    3. ナビゲーション・ツリーで、「ライブラリ」をクリックします。
    4. 「Business Components Runtime」「選択済のライブラリ」リストに移動します。
    5. 「新規」をクリックして、新しいユーザー・ライブラリを作成します。
    6. ライブラリ名を入力します(例: myTypeLib)。
    7. 型マップ・クラスへのクラスパスを入力します。絶対パス(例: C:/JDeveloper/..)を指定することも、相対パスを指定することもできます。
    8. 「OK」をクリックします。
  5. 新規のビジネス・コンポーネント・プロジェクトを作成します。ビジネス・コンポーネント・プロジェクト・ウィザードの接続ページで、ドロップダウン・ボックスから型マップを選択します。
    ビジネス・コンポーネントを作成した場合、新しく作成したコンポーネントには、クラスに指定された型マップが定義されます。
  6. サンプルの型マップ・クラスを使用する場合は、同じ型マップ(DEPTおよびEMPなど)を使用する表を選択します。