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

戻る
戻る
 
次へ
次へ
 

41 オブジェクト・リレーショナル・データ・タイプ・マッピングの構成

この章では、オブジェクト・リレーショナル・データ・タイプ・マッピングの構成方法について説明します。

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

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

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

41.1 オブジェクト・リレーショナル・データ・タイプ・マッピング構成の概要

表41-1は、構成可能なオブジェクト・リレーショナル・データ・タイプ・マッピングのタイプと、そのタイプで対応している構成可能オプションが記載されたタイプ別の章への相互参照を示します。

表41-1 オブジェクト・リレーショナル・データ・タイプ・マッピングの構成

作成対象 参照先

オブジェクト・リレーショナル・データ・タイプの構造マッピング(40.1.1項「オブジェクト・リレーショナル・データ・タイプの構造マッピング」を参照)

第42章「オブジェクト・リレーショナル・データ・タイプの構造マッピングの構成」


オブジェクト・リレーショナル・データ・タイプの参照マッピング(40.1.2項「オブジェクト・リレーショナル・データ・タイプの参照マッピング」を参照)

第43章「オブジェクト・リレーショナル・データ・タイプの参照マッピングの構成」


オブジェクト・リレーショナル・データ・タイプの配列マッピング(40.1.3項「オブジェクト・リレーショナル・データ・タイプの配列マッピング」を参照)

第44章「オブジェクト・リレーショナル・データ・タイプの配列マッピングの構成」


オブジェクト・リレーショナル・データ・タイプのオブジェクト配列マッピング(40.1.4項「オブジェクト・リレーショナル・データ・タイプのオブジェクト配列マッピング」を参照)

第45章「オブジェクト・リレーショナル・データ・タイプのオブジェクト配列マッピングの構成」


オブジェクト・リレーショナル・データ・タイプのネストした表マッピング(40.1.5項「オブジェクト・リレーショナル・データ・タイプのネストした表マッピング」を参照)

第46章「オブジェクト・リレーショナル・データ・タイプのネストした表マッピングの構成」



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

41.2 一般的なオブジェクト・リレーショナル・データ・タイプ・マッピング・オプションの構成

表41-2は、複数のオブジェクト・リレーショナル・データ・タイプ・マッピングのタイプによって共有される構成可能オプションを示します。ここで説明する構成可能オプション以外にも、表41-1に示すように、特定のオブジェクト・リレーショナル・データ・タイプ・マッピングのタイプ(40.1項「オブジェクト・リレーショナル・データ・タイプ・マッピングのタイプ」を参照)について説明しているオプションも構成する必要があります。

表41-2 オブジェクト・リレーショナル・データ・タイプ・マッピングの一般的なオプション

構成オプション Oracle JDeveloper
TopLink Workbench
Java

参照クラス(41.3項「参照クラスの構成」を参照)

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

属性名(41.4項「属性名の構成」を参照)

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

フィールド名(41.5項「フィールド名の構成」を参照)

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

構造名(41.6項「構造名の構成」を参照)

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

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

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

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

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

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

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

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

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

41.3 参照クラスの構成

他のクラスへのリレーションシップを持つ属性をマップする場合は、参照クラス(マップする属性が参照するJavaクラス)を指定する必要があります。

表41-3では、どのオブジェクト・リレーショナル・データ・タイプ・マッピングがこのオプションをサポートしているかを示します。

表41-3 マッピングでの参照クラスのサポート

マッピング Oracle JDeveloperの使用方法 TopLink Workbenchの使用方法 Javaを使用した参照クラスの構成方法

オブジェクト・リレーショナル・データ・タイプの構造マッピング(40.1.1項「オブジェクト・リレーショナル・データ・タイプの構造マッピング」を参照)

サポートされていない


サポートされていない


サポートされている


オブジェクト・リレーショナル・データ・タイプの参照マッピング(40.1.2項「オブジェクト・リレーショナル・データ・タイプの参照マッピング」を参照)

サポートされていない


サポートされていない


サポートされている


オブジェクト・リレーショナル・データ・タイプの配列マッピング(40.1.3項「オブジェクト・リレーショナル・データ・タイプの配列マッピング」を参照)

サポートされていない


サポートされていない


サポートされていない


オブジェクト・リレーショナル・データ・タイプのオブジェクト配列マッピング(40.1.4項「オブジェクト・リレーショナル・データ・タイプのオブジェクト配列マッピング」を参照)

サポートされていない


サポートされていない


サポートされている


オブジェクト・リレーショナル・データ・タイプのネストした表マッピング(40.1.5項「オブジェクト・リレーショナル・データ・タイプのネストした表マッピング」を参照)

サポートされていない


サポートされていない


サポートされている



41.3.1 Javaを使用した参照クラスの構成方法

マップする属性のターゲット・クラスを指定するには、oracle.toplink.mappings.ForeignReferenceMappingメソッドsetReferenceClassを使用します。

例41-1は、このメソッドの使用方法を示します。Employeeクラスのmanager属性をマップするReferenceMappingもともに使用されています。

例41-1 Javaでの参照クラスの構成

public void customize(ClassDescriptor descriptor) {
    ReferenceMapping managerMapping = new ReferenceMapping();

    managerMapping.setReferenceClass("Employee.class"); // set reference class
    managerMapping.setAttributeName("manager");

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

詳細は、『Oracle Fusion Middleware Java API Reference for Oracle TopLink』を参照してください。

41.4 属性名の構成

すべてのオブジェクト・リレーショナル・データ・タイプ・マッピングでは、Javaオブジェクトの属性をデータベースのフィールドにマップします。属性名はマップする属性の名前です。この名前は参照クラスで指定された名前です(41.3項「参照クラスの構成」を参照)。

表41-4では、どのオブジェクト・リレーショナル・データ・タイプ・マッピングがこのオプションをサポートしているかを示します。

表41-4 マッピングでの属性名のサポート

マッピング Oracle JDeveloperの使用方法 TopLink Workbenchの使用方法 Javaを使用した属性名の構成方法

オブジェクト・リレーショナル・データ・タイプの構造マッピング(40.1.1項「オブジェクト・リレーショナル・データ・タイプの構造マッピング」を参照)

サポートされていない


サポートされている

サポートされている


オブジェクト・リレーショナル・データ・タイプの参照マッピング(40.1.2項「オブジェクト・リレーショナル・データ・タイプの参照マッピング」を参照)

サポートされていない


サポートされている

サポートされている


オブジェクト・リレーショナル・データ・タイプの配列マッピング(40.1.3項「オブジェクト・リレーショナル・データ・タイプの配列マッピング」を参照)

サポートされていない


サポートされている

サポートされている


オブジェクト・リレーショナル・データ・タイプのオブジェクト配列マッピング(40.1.4項「オブジェクト・リレーショナル・データ・タイプのオブジェクト配列マッピング」を参照)

サポートされていない


サポートされている

サポートされている


オブジェクト・リレーショナル・データ・タイプのネストした表マッピング(40.1.5項「オブジェクト・リレーショナル・データ・タイプのネストした表マッピング」を参照)

サポートされていない


サポートされている

サポートされている



41.4.1 Javaを使用した属性名の構成方法

マップする属性の名前を指定するには、oracle.toplink.mappings.DatabaseMappingメソッドsetAttributeNameを使用します。

例41-2は、このメソッドの使用方法を示します。Employeeクラスのmanager属性をマップするReferenceMappingもともに使用されています。

例41-2 Javaでの属性名の構成

public void customize(ClassDescriptor descriptor) {
    ReferenceMapping managerMapping = new new ReferenceMapping();
    managerMapping.setReferenceClass("Employee.class");
    managerMapping.setAttributeName("manager"); // set attribute name

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

詳細は、『Oracle Fusion Middleware Java API Reference for Oracle TopLink』を参照してください。

41.5 フィールド名の構成

すべてのオブジェクト・リレーショナル・データ・タイプ・マッピングでは、指定した属性のマップ先にするデータベース・フィールドの名前が必要になります。このフィールド名には、データベース表の列名、またはデータベースで作成された特定のオブジェクト・タイプに属するフィールドの名前を指定できます。

表41-5では、どのオブジェクト・リレーショナル・データ・タイプ・マッピングがこのオプションをサポートしているかを示します。

表41-5 マッピングでのフィールド名のサポート

マッピング Oracle JDeveloperの使用方法 TopLink Workbenchの使用方法 Javaを使用したフィールド名の構成方法

オブジェクト・リレーショナル・データ・タイプの構造マッピング(40.1.1項「オブジェクト・リレーショナル・データ・タイプの構造マッピング」を参照)

サポートされていない


サポートされていない


サポートされている


オブジェクト・リレーショナル・データ・タイプの参照マッピング(40.1.2項「オブジェクト・リレーショナル・データ・タイプの参照マッピング」を参照)

サポートされていない


サポートされていない


サポートされている


オブジェクト・リレーショナル・データ・タイプの配列マッピング(40.1.3項「オブジェクト・リレーショナル・データ・タイプの配列マッピング」を参照)

サポートされていない


サポートされていない


サポートされている


オブジェクト・リレーショナル・データ・タイプのオブジェクト配列マッピング(40.1.4項「オブジェクト・リレーショナル・データ・タイプのオブジェクト配列マッピング」を参照)

サポートされていない


サポートされていない


サポートされている


オブジェクト・リレーショナル・データ・タイプのネストした表マッピング(40.1.5項「オブジェクト・リレーショナル・データ・タイプのネストした表マッピング」を参照)

サポートされていない


サポートされていない


サポートされている



41.5.1 Javaを使用したフィールド名の構成方法

オブジェクト・リレーショナル・データ・タイプ・マッピングのメソッドsetFieldNameを使用して、属性をマップするデータベース・フィールドを指定します。

例41-3は、このメソッドの使用方法を示します。Employeeクラスの属性phoneをデータベース・フィールド名PHONE_NUMBERにマップするObjectArrayMappingもともに使用されています。

例41-3 Javaでのフィールド名の構成

public void customize(ClassDescriptor descriptor) {
    ObjectArrayMapping phonesMapping = new ObjectArrayMapping();
    phonesMapping.setReferenceClass("Employee.class");
    phonesMapping.setAttributeName("phone");
    phonesMapping.setFieldName("PHONE_NUMBER"); // set field name

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

詳細は、『Oracle Fusion Middleware Java API Reference for Oracle TopLink』を参照してください。

41.6 構造名の構成

いくつかのオブジェクト・リレーショナル・データ・タイプ・マッピングでは、マップするフィールドのデータ・タイプまたは構造名の指定が必須です。構造名は、フィールドを定義する配列または表タイプの名前です。

表41-6では、どのオブジェクト・リレーショナル・データ・タイプ・マッピングがこのオプションをサポートしているかを示します。

表41-6 マッピングでの構造名のサポート

マッピング Oracle JDeveloperの使用方法 TopLink Workbenchの使用方法 Javaを使用した構造名の構成方法

オブジェクト・リレーショナル・データ・タイプの構造マッピング(40.1.1項「オブジェクト・リレーショナル・データ・タイプの構造マッピング」を参照)

サポートされていない


サポートされていない


サポートされていない


オブジェクト・リレーショナル・データ・タイプの参照マッピング(40.1.2項「オブジェクト・リレーショナル・データ・タイプの参照マッピング」を参照)

サポートされていない


サポートされていない


サポートされていない


オブジェクト・リレーショナル・データ・タイプの配列マッピング(40.1.3項「オブジェクト・リレーショナル・データ・タイプの配列マッピング」を参照)

サポートされていない


サポートされていない


サポートされている


オブジェクト・リレーショナル・データ・タイプのオブジェクト配列マッピング(40.1.4項「オブジェクト・リレーショナル・データ・タイプのオブジェクト配列マッピング」を参照)

サポートされていない


サポートされていない


サポートされている


オブジェクト・リレーショナル・データ・タイプのネストした表マッピング(40.1.5項「オブジェクト・リレーショナル・データ・タイプのネストした表マッピング」を参照)

サポートされていない


サポートされていない


サポートされている



41.6.1 Javaを使用した構造名の構成方法

マップする属性の構造を指定するには、オブジェクト・リレーショナル・データ・タイプ・マッピングのメソッドsetStructureNameを使用します。

例41-4は、このメソッドの使用方法を示します。Employeeクラスの属性phonesをタイプPHONE_ARRAY_TYPEのデータベース・フィールド名PHONE_NUMBERSにマップするObjectArrayMappingもともに使用されています。

例41-4 Javaでの構造名の構成

public void customize(ClassDescriptor descriptor) {
    ObjectArrayMapping phonesMapping = new ObjectArrayMapping();
    phonesMapping.setReferenceClass("Employee.class");
    phonesMapping.setAttributeName("phones");
    phonesMapping.setFieldName("PHONE_NUMBERS");
    phonesMapping.setStructureName("PHONE_ARRAY_TYPE"); // set structure name

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

詳細は、『Oracle Fusion Middleware Java API Reference for Oracle TopLink』を参照してください。