この章の内容は次のとおりです。
複数のマッピング・タイプに共通のTopLinkマッピング・オプションを構成する方法の詳細は、第121章「マッピングの構成」を参照してください。
TopLinkマッピングの作成方法の詳細は、第120章「マッピングの作成」を参照してください。
表78-1は、構成可能なEISマッピング・タイプと、そのタイプで対応している構成可能オプションが記載されたタイプ別の章への相互参照を示します。
表78-1 EISマッピングの構成
作成対象 | 参照先 |
---|---|
EISダイレクト・マッピング(77.3項「EISダイレクト・マッピング」を参照) |
|
EISコンポジット・ダイレクト・コレクション・マッピング(77.4項「EISコンポジット・ダイレクト・コレクション・マッピング」を参照) |
第80章「EISコンポジット・ダイレクト・コレクション・マッピングの構成」 |
EISコンポジット・オブジェクト・マッピング(77.5項「EISコンポジット・オブジェクト・マッピング」を参照) |
第81章「EISコンポジット・オブジェクト・マッピングの構成」 |
EISコンポジット・コレクション・マッピング(77.6項「EISコンポジット・コレクション・マッピング」を参照) |
第82章「EISコンポジット・コレクション・マッピングの構成」 |
EISの1対1マッピング(77.7項「EISの1対1マッピング」を参照) |
|
EISの1対多マッピング(77.8項「EISの1対多マッピング」を参照) |
|
EISトランスフォーメーション・マッピング(77.9項「EISトランスフォーメーション・マッピング」を参照) |
第85章「EISトランスフォーメーション・マッピングの構成」 |
詳細は、次を参照してください。
表78-2は、複数のEISマッピング・タイプによって共有される構成可能オプションを示します。ここで説明する構成可能オプション以外にも、表78-1に示すように、特定のEISマッピングのタイプ(77.1項「EISマッピングのタイプ」を参照)について説明しているオプションも構成する必要があります。
表78-2 EISマッピングの共通オプション
構成オプション | Oracle JDeveloper |
TopLink Workbench | Java |
---|---|---|---|
読取り専用(121.2項「読取り専用マッピングの構成」を参照) |
|||
インダイレクション(遅延ロード)(121.3項「インダイレクション(遅延ロード)の構成」を参照) |
|||
XPath(121.4項「XPathの構成」を参照) |
|||
デフォルトのNULL値(121.5項「マッピング・レベルでのデフォルトのNULL値の構成」を参照) |
|||
参照ディスクリプタ(78.3項「参照ディスクリプタの構成」を参照) |
|||
メソッドまたは直接フィールド・アクセス(121.6項「マッピング・レベルでのメソッドまたは直接フィールド・アクセスの構成」を参照) |
|||
プライベート・リレーションシップまたは独立したリレーションシップ(121.7項「プライベート・リレーションシップまたは独立したリレーションシップの構成」を参照) |
|||
コメント(121.8項「マッピング・コメントの構成」を参照) |
|||
シリアライズ・オブジェクト・コンバータ(121.9項「シリアライズ・オブジェクト・コンバータの構成」を参照) |
|||
タイプ変換コンバータ(121.10項「タイプ変換コンバータの構成」を参照) |
|||
オブジェクト・タイプ・コンバータ(121.11項「オブジェクト・タイプ・コンバータの構成」を参照) |
|||
シンプル・タイプ・トランスレータ(121.12項「シンプル・タイプ・トランスレータの構成」を参照) |
|||
コンテナ・ポリシー(121.14項「コンテナ・ポリシーの構成」を参照) |
|||
選択インタラクション(78.4項「選択インタラクションの構成」を参照) |
|||
単独ノードの使用(121.19項「単独ノードの使用の構成」を参照) |
|||
JAXB型保証列挙コンバータ(121.13項「JAXB型保証列挙コンバータの構成」を参照) |
oracle.toplink.mappings.ForeignReferenceMapping
またはoracle.toplink.mappings.AggregateMapping
クラスの拡張であるEISマッピングでは、属性が参照するのはその他のTopLinkディスクリプタであり、データ・ソースではありません。現行プロジェクトのディスクリプタを選択することも、他のプロジェクトのディスクリプタを選択することもできます。
表78-3では、どのEISマッピングがこのオプションをサポートしているかを示します。
表78-3 マッピングでの参照ディスクリプタのサポート
マッピング | Oracle JDeveloperの使用方法 | TopLink Workbenchを使用した参照ディスクリプタの構成方法 |
Javaの使用方法 |
---|---|---|---|
ダイレクト・マッピング(77.3項「EISダイレクト・マッピング」を参照) |
|
|
|
コンポジット・ダイレクト・コレクション・マッピング(77.4項「EISコンポジット・ダイレクト・コレクション・マッピング」を参照) |
|
|
|
コンポジット・オブジェクト・マッピング(77.5項「EISコンポジット・オブジェクト・マッピング」を参照) |
|
|
|
コンポジット・コレクション・マッピング(77.6項「EISコンポジット・コレクション・マッピング」を参照) |
|
|
|
1対1マッピング(77.7項「EISの1対1マッピング」を参照) |
|
|
|
1対多マッピング(77.8項「EISの1対多マッピング」を参照) |
|
|
|
トランスフォーメーション・マッピング(77.9項「EISトランスフォーメーション・マッピング」を参照) |
|
|
|
EISマッピングに参照ディスクリプタを指定するには、次の手順を実行します。
ナビゲータでマップされた属性を選択します。そのプロパティがエディタに表示されます。
「一般」タブをクリックします。「一般」タブが表示されます。
「参照ディスクリプタ」フィールドを使用して、このリレーションシップ・マッピングで参照するディスクリプタを選択します。
注意: 1対1および1対多EISマッピングの場合、参照ディスクリプタはルート・ディスクリプタである必要があります。76.6項「EISディスクリプタのタイプ(ルートまたはコンポジット)の構成」を参照してください。 |
現行TopLink Workbenchプロジェクトにない参照ディスクリプタを指定できます。たとえば、現行プロジェクトにないEmployee
クラスへのマッピングを作成するには、次の手順を実行します。
現行プロジェクトにEmployee
クラスを追加します。116.2項「プロジェクトの使用」を参照してください。
Employee
ディスクリプタへのリレーションシップ・マッピングを作成します。
Employee
ディスクリプタを非アクティブ化します。「アクティブおよび非アクティブ・ディスクリプタ」を参照してください。
プロジェクトのデプロイXMLを生成すると、Employee
クラスへのマッピングが組み込まれますが、Employee
クラス自体は組み込まれません。
oracle.toplink.mappings.ForeignReferenceMapping
クラスの拡張であるEISマッピングでは、TopLinkは、選択インタラクションを使用して、マッピングが参照するターゲット・オブジェクトのインスタンスを取得します。
デフォルトでは、マッピングの参照ディスクリプタに定義した読取りインタラクションが使用されます(78.3項「参照ディスクリプタの構成」を参照)。通常は、このインタラクションで十分です。参照ディスクリプタの読取りインタラクションでは不十分な場合は、別のインタラクションを定義できます。
表78-4では、どのEISマッピングがこのオプションをサポートしているかを示します。
表78-4 マッピングでの選択インタラクションのサポート
マッピング | Oracle JDeveloperの使用方法 | TopLink Workbenchを使用した選択インタラクションの構成方法 |
Javaの使用方法 |
---|---|---|---|
ダイレクト・マッピング(77.3項「EISダイレクト・マッピング」を参照) |
|
|
|
コンポジット・ダイレクト・コレクション・マッピング(77.4項「EISコンポジット・ダイレクト・コレクション・マッピング」を参照) |
|
|
|
1対1マッピング(77.7項「EISの1対1マッピング」を参照) |
|
|
|
1対多マッピング(77.8項「EISの1対多マッピング」を参照) |
|
|
|
コンポジット・オブジェクト・マッピング(77.5項「EISコンポジット・オブジェクト・マッピング」を参照) |
|
|
|
コンポジット・コレクション・マッピング(77.6項「EISコンポジット・コレクション・マッピング」を参照) |
|
|
|
トランスフォーメーション・マッピング(77.9項「EISトランスフォーメーション・マッピング」を参照) |
|
|
|
TopLinkで選択基準が使用される動作の詳細は、77.2.6.2項「参照EISマッピング」を参照してください。
EISマッピングに対する選択インタラクション(「オブジェクトの読取り」など)を指定するには、次の手順を実行します。
ナビゲータで1対多のEISマッピングを選択します。そのプロパティがエディタに表示されます。
「選択インタラクション」タブをクリックします。「選択インタラクション」タブが表示されます。
次の情報を参照し、タブの各フィールドにデータを入力します。
フィールド | 説明 |
---|---|
ファンクション名 | このタイプのコール(「オブジェクトの読取り」または「すべて読取り」)がEISに対して起動するEISファンクションの名前。 |
入力レコード名 | 入力レコードの作成時に、JCAアダプタに渡される名前。 |
入力ルート要素名 | 入力DOMに使用されるルート要素名。 |
入力引数 | 引数レコードのインタラクション・フィールドまたはXPathノードにマップされる問合せ引数名。
たとえば、XMLレコードを使用している場合、このオプションを使用して入力引数 |
出力引数 | ディスクリプタのマッピングに使用されるレコード内の正しいノードにマップされる、結果のレコード・フィールドまたはXPathノード。
たとえば、XMLレコードを使用している場合、このオプションを使用して出力 対話でディスクリプタのマッピングと一致するXML結果が返される場合、出力引数は必要ありません。 |
入力結果のパス | EISインタラクションが、XMLレコードにネストされるインタラクション引数を予期する場合に、このオプションを使用します。
たとえば、引数を最初にルート要素 |
出力結果のパス | このタイプのコール(「オブジェクトの読取り」または「すべて読取り」)がEISに対して起動するEISファンクションの名前。 |
プロパティ | EISプラットフォームが必要とするプロパティ。たとえば、プロパティ名operation (AQPlatform.QUEUE_OPERATION から)およびプロパティ値enqueue (AQPlatform.ENQUEUE から)。 |