この章では、リレーショナル・ダイレクト・マップ・マッピングを使用するために構成する必要がある様々なコンポーネントについて説明します。
この章の内容は次のとおりです。
複数のマッピング・タイプに共通のTopLinkマッピング・オプションを構成する方法の詳細は、第121章「マッピングの構成」を参照してください。
TopLinkマッピングの作成方法の詳細は、第120章「マッピングの作成」を参照してください。
表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.5項「値コンバータの構成」を参照)。
ナビゲータでマップされた属性を選択します。そのプロパティがエディタに表示されます。
「一般」タブをクリックします。「一般」タブが表示されます。
「ダイレクト値フィールド」のリストを使用して、ダイレクト・マップ・マッピングのオブジェクトを含む「ターゲット表」からフィールドを選択します。
参照表内にあるダイレクト・キー・フィールドには、マップ・キーのプリミティブ・データの値が格納されます。キーのオブジェクト値およびデータベース値が異なるタイプの場合、コンバータを使用します(38.4項「キー・コンバータの構成」を参照)。
参照表内のダイレクト・キー・フィールドを指定するには、次の手順を実行します。
ナビゲータでマップされた属性を選択します。そのプロパティがエディタに表示されます。
「一般」タブをクリックします。「一般」タブが表示されます。
「ダイレクト・キー・フィールド」のリストを使用して、ダイレクト・マップ・マッピングのオブジェクトを含む「ターゲット表」からフィールドを選択します。
キーのオブジェクト値およびデータベース値が異なるタイプの場合、コンバータを使用します。TopLinkは次のキー・コンバータをサポートします。
ダイレクト・マップ・マッピング・キーのコンバータを指定するには、次の手順を実行します。
ナビゲータでマップされた属性を選択します。そのプロパティがエディタに表示されます。
「コンバータ」タブをクリックします。「コンバータ」タブが表示されます。
コンバータ | 説明 |
---|---|
コンバータなし | このマッピングには「キー・コンバータ」を使用しません。 |
シリアライズ・オブジェクト・コンバータ | 121.9項「シリアライズ・オブジェクト・コンバータの構成」を参照してください。 |
タイプ変換コンバータ | 121.10項「タイプ変換コンバータの構成」を参照してください。 |
オブジェクト・タイプ・コンバータ | 121.11項「オブジェクト・タイプ・コンバータの構成」を参照してください。 |
値のオブジェクト値およびデータベース値が異なるタイプの場合、コンバータを使用します。TopLinkは次の値コンバータをサポートします。
ナビゲータでマップされた属性を選択します。そのプロパティがエディタに表示されます。
「コンバータ」タブをクリックします。「コンバータ」タブが表示されます。
コンバータ | 説明 |
---|---|
コンバータなし | このマッピングには「値コンバータ」を使用しません。 |
シリアライズ・オブジェクト・コンバータ | 121.9項「シリアライズ・オブジェクト・コンバータの構成」を参照してください。 |
タイプ変換コンバータ | 121.10項「タイプ変換コンバータの構成」を参照してください。 |
オブジェクト・タイプ・コンバータ | 121.11項「オブジェクト・タイプ・コンバータの構成」を参照してください。 |