ヘッダーをスキップ
Oracle Fusion Middleware Oracle TopLink開発者ガイド
11gリリース1(11.1.1)
B56246-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

38 リレーショナル・ダイレクト・マップ・マッピングの構成

この章では、リレーショナル・ダイレクト・マップ・マッピングを使用するために構成する必要がある様々なコンポーネントについて説明します。

この章の内容は次のとおりです。

複数のマッピング・タイプに共通のTopLinkマッピング・オプションを構成する方法の詳細は、第121章「マッピングの構成」を参照してください。

TopLinkマッピングの作成方法の詳細は、第120章「マッピングの作成」を参照してください。

表38-1は、リレーショナル・ダイレクト・マップ・マッピングの構成可能オプションを示します。

38.1 リレーショナル・ダイレクト・マップ・マッピングの構成の概要

表38-1は、リレーショナル・ダイレクト・マップ・マッピングの構成可能オプションを示します。

表38-1 リレーショナル・ダイレクト・マップ・マッピングの構成可能オプション

オプション Oracle JDeveloper
TopLink Workbench
Java

ターゲット表(36.2項「ターゲット表の構成」を参照)

サポートされている
サポートされている
サポートされている

ダイレクト値フィールド(38.2項「ダイレクト値フィールドの構成」を参照)

サポートされている
サポートされている
サポートされている

ダイレクト・キー・フィールド(38.3項「ダイレクト・キー・フィールドの構成」を参照)

サポートされている
サポートされている
サポートされている

メソッドまたは直接フィールド・アクセス(121.6項「マッピング・レベルでのメソッドまたは直接フィールド・アクセスの構成」を参照)

サポートされている
サポートされている
サポートされている

読取り専用マッピング(121.2項「読取り専用マッピングの構成」を参照)

サポートされている
サポートされている
サポートされている

バッチ読取り(28.5項「バッチ読取りの構成」を参照)

サポートされている
サポートされている
サポートされている

インダイレクション(遅延ロード)(121.3項「インダイレクション(遅延ロード)の構成」を参照)

サポートされている
サポートされている
サポートされている

コンテナ・ポリシー(121.14項「コンテナ・ポリシーの構成」を参照)

サポートされている
サポートされている
サポートされている

マッピング・コメント(121.8項「マッピング・コメントの構成」を参照)

サポートされている
サポートされている
サポートされている

キー・コンバータ(38.4項「キー・コンバータの構成」を参照)

サポートされている
サポートされている
サポートされている

値コンバータ(38.5項「値コンバータの構成」を参照)

サポートされている
サポートされている
サポートされている

表およびフィールド参照(28.7項「表およびフィールド参照の構成(外部キーおよびターゲット外部キー)」を参照)

サポートされている
サポートされている
サポートされている

例38-1は、Javaコードによるダイレクト・マップ・マッピングの作成方法とディスクリプタへの追加方法を示します。

例38-1 ダイレクト・マップ・マッピング

public void customize(ClassDescriptor descriptor) {
    DirectMapMapping mapping = new DirectMapMapping();

    // configure mapping
    ...

    // add mapping to descriptor
    descriptor.addMapping(mapping);
}

詳細は、次を参照してください。

JPAを使用したダイレクト・マップ・マッピングの構成の詳細は、『EclipseLink Developer's Guide』の「How to Use the @BasicMap Annotation」(http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_%28ELUG%29#How_to_Use_the_.40BasicMap_Annotation)を参照してください。

38.2 ダイレクト値フィールドの構成

参照表内にあるダイレクト値フィールドには、マップ値のプリミティブ・データの値が格納されます。値のオブジェクト値およびデータベース値が異なるタイプの場合、コンバータを使用します(38.5項「値コンバータの構成」を参照)。

38.2.1 TopLink Workbenchを使用したダイレクト値フィールドの構成方法

  1. ナビゲータでマップされた属性を選択します。そのプロパティがエディタに表示されます。

  2. 「一般」タブをクリックします。「一般」タブが表示されます。

    図38-1 「一般」タブ、「ダイレクト値フィールド」

    図38-1の説明が続きます
    「図38-1 「一般」タブ、「ダイレクト値フィールド」」の説明

「ダイレクト値フィールド」のリストを使用して、ダイレクト・マップ・マッピングのオブジェクトを含む「ターゲット表」からフィールドを選択します。

38.2.2 Javaを使用したダイレクト値フィールドの構成方法

DirectMapMappingメソッドのsetDirectFieldNameを使用して、マッピングのためにダイレクト・フィールドを設定します。

DirectMapMappingで使用可能なメソッドの詳細は、『Oracle Fusion Middleware Java API Reference for Oracle TopLink』を参照してください。

38.3 ダイレクト・キー・フィールドの構成

参照表内にあるダイレクト・キー・フィールドには、マップ・キーのプリミティブ・データの値が格納されます。キーのオブジェクト値およびデータベース値が異なるタイプの場合、コンバータを使用します(38.4項「キー・コンバータの構成」を参照)。

38.3.1 TopLink Workbenchを使用したダイレクト・キー・フィールドの構成方法

参照表内のダイレクト・キー・フィールドを指定するには、次の手順を実行します。

  1. ナビゲータでマップされた属性を選択します。そのプロパティがエディタに表示されます。

  2. 「一般」タブをクリックします。「一般」タブが表示されます。

    図38-2 「一般」タブ、「ダイレクト・キー・フィールド」

    図38-2の説明が続きます
    「図38-2 「一般」タブ、「ダイレクト・キー・フィールド」」の説明

「ダイレクト・キー・フィールド」のリストを使用して、ダイレクト・マップ・マッピングのオブジェクトを含む「ターゲット表」からフィールドを選択します。

38.3.2 Javaを使用したダイレクト・キー・フィールドの構成方法

DirectMapMappingメソッドのsetDirectKeyFieldNameを使用して、マッピングのためにダイレクト・キー・フィールドを設定します。

DirectMapMappingで使用可能なメソッドの詳細は、『Oracle Fusion Middleware Java API Reference for Oracle TopLink』を参照してください。

38.4 キー・コンバータの構成

キーのオブジェクト値およびデータベース値が異なるタイプの場合、コンバータを使用します。TopLinkは次のキー・コンバータをサポートします。

38.4.1 TopLink Workbenchを使用したキー・コンバータの構成方法

ダイレクト・マップ・マッピング・キーのコンバータを指定するには、次の手順を実行します。

  1. ナビゲータでマップされた属性を選択します。そのプロパティがエディタに表示されます。

  2. 「コンバータ」タブをクリックします。「コンバータ」タブが表示されます。

  3. 「キー・コンバータ」タブをクリックします。「キー・コンバータ」タブが表示されます。

    図38-3 「コンバータ」タブ、「キー・コンバータ」サブタブ

    図38-3の説明が続きます
    「図38-3 「コンバータ」タブ、「キー・コンバータ」サブタブ」の説明

コンバータ 説明
コンバータなし このマッピングには「キー・コンバータ」を使用しません。
シリアライズ・オブジェクト・コンバータ 121.9項「シリアライズ・オブジェクト・コンバータの構成」を参照してください。
タイプ変換コンバータ 121.10項「タイプ変換コンバータの構成」を参照してください。
オブジェクト・タイプ・コンバータ 121.11項「オブジェクト・タイプ・コンバータの構成」を参照してください。

38.4.2 Javaを使用したキー・コンバータの構成方法

DirectMapMappingメソッドのsetKeyConverterを使用して、NULL値を許容するかどうかを構成できます。

DirectMapMappingで使用可能なメソッドの詳細は、『Oracle Fusion Middleware Java API Reference for Oracle TopLink』を参照してください。

38.5 値コンバータの構成

値のオブジェクト値およびデータベース値が異なるタイプの場合、コンバータを使用します。TopLinkは次の値コンバータをサポートします。

38.5.1 TopLink Workbenchを使用した値コンバータの構成方法

  1. ナビゲータでマップされた属性を選択します。そのプロパティがエディタに表示されます。

  2. 「コンバータ」タブをクリックします。「コンバータ」タブが表示されます。

  3. 「値コンバータ」タブをクリックします。「値コンバータ」タブが表示されます。

    図38-4 「コンバータ」タブ、「値コンバータ」サブタブ

    図38-4の説明が続きます
    「図38-4 「コンバータ」タブ、「値コンバータ」サブタブ」の説明

コンバータ 説明
コンバータなし このマッピングには「値コンバータ」を使用しません。
シリアライズ・オブジェクト・コンバータ 121.9項「シリアライズ・オブジェクト・コンバータの構成」を参照してください。
タイプ変換コンバータ 121.10項「タイプ変換コンバータの構成」を参照してください。
オブジェクト・タイプ・コンバータ 121.11項「オブジェクト・タイプ・コンバータの構成」を参照してください。