この章では、企業情報システム(EIS)マッピングを構成する方法について説明します。
表54-1は、構成可能なEISマッピング・タイプと、そのタイプで対応している構成可能なオプションが記載されたタイプ別の章への相互参照を示しています。
表54-1 EISマッピングの構成
作成対象 | 参照先 |
---|---|
|
|
|
第56章「EISコンポジット・ダイレクト・コレクション・マッピングの構成」 |
|
第57章「EISコンポジット・オブジェクト・マッピングの構成」 |
|
第58章「EISコンポジット・コレクション・マッピングの構成」 |
|
|
|
|
|
第61章「EISトランスフォーメーション・マッピングの構成」 |
表54-2は、複数のEISマッピング・タイプによって共有される構成可能オプションを示します。
詳細は、次の項を参照してください。
表54-2は、複数のEISマッピング・タイプによって共有される構成可能オプションを示します。ここで説明する構成可能オプション以外にも、表54-1に示すように、特定のEISマッピングのタイプについて説明しているオプションも構成する必要があります。
表54-2 EISマッピングの共通オプション
オプション | タイプ | TopLink Workbench | Java |
---|---|---|---|
|
基本 |
![]() |
![]() |
|
基本 |
![]() |
![]() |
|
基本 |
![]() |
![]() |
|
基本 |
![]() |
![]() |
|
基本 |
![]() |
![]() |
|
詳細 |
![]() |
![]() |
|
詳細 |
![]() |
![]() |
「プライベート・リレーションシップまたは独立したリレーションシップの構成」 |
詳細 |
![]() |
![]() |
|
詳細 |
![]() |
![]() |
|
詳細 |
![]() |
![]() |
|
詳細 |
![]() |
![]() |
|
詳細 |
![]() |
![]() |
|
詳細 |
![]() |
![]() |
|
詳細 |
![]() |
![]() |
|
詳細 |
![]() |
![]() |
|
詳細 |
![]() |
![]() |
|
詳細 |
![]() |
![]() |
oracle.toplink.mappings.ForeignReferenceMapping
またはoracle.toplink.mappings.AggregateMapping
クラスの拡張であるEISマッピングでは、属性が参照するのはその他のTopLinkディスクリプタであり、データ・ソースではありません。現行プロジェクトのディスクリプタを選択することも、他のプロジェクトのディスクリプタを選択することもできます。
表54-3は、どのEISマッピングがこのオプションをサポートしているかを示します。
EISマッピングに参照ディスクリプタを指定するには、次の手順を実行します。
ナビゲータでマップされた属性を選択します。そのプロパティがエディタに表示されます。
「一般」タブをクリックします。「一般」タブが表示されます。
「参照ディスクリプタ」フィールドを使用して、このリレーションシップ・マッピングで参照するディスクリプタを選択します。
注意: 1対1および1対多EISマッピングの場合、参照ディスクリプタはルート・ディスクリプタである必要があります。「ルートまたはコンポジット・タイプとしてのEISディスクリプタの構成」を参照してください。 |
現行TopLink Workbenchプロジェクトにない参照ディスクリプタを指定できます。たとえば、現行プロジェクトにないEmployee
クラスへのマッピングを作成するには、次の手順を実行します。
現行プロジェクトにEmployee
クラスを追加します。「プロジェクトの使用」を参照してください。
Employee
ディスクリプタへのリレーションシップ・マッピングを作成します。
Employee
ディスクリプタを非アクティブ化します。「アクティブおよび非アクティブ・ディスクリプタ」を参照してください。
プロジェクトのデプロイXMLを生成すると、Employee
クラスへのマッピングが組み込まれますが、Employee
クラス自体は組み込まれません。
oracle.toplink.mappings.ForeignReferenceMapping
クラスの拡張であるEISマッピングでは、TopLinkは、選択インタラクションを使用して、マッピングが参照するターゲット・オブジェクトのインスタンスを取得します。
デフォルトでは、マッピングの参照ディスクリプタに定義した読取りインタラクションが使用されます(「参照ディスクリプタの構成」を参照)。通常は、このインタラクションで十分です。参照ディスクリプタの読取りインタラクションでは不十分な場合は、別のインタラクションを定義できます。
表54-4は、どのEISマッピングがこのオプションをサポートしているかを示します。
TopLinkで選択基準が使用される動作の詳細は、「参照EISマッピング」を参照してください。
EISマッピングに対する選択インタラクション(「オブジェクトの読取り」など)を指定するには、次の手順を実行します。
ナビゲータで1対多のEISマッピングを選択します。そのプロパティがエディタに表示されます。
「選択インタラクション」タブをクリックします。「選択インタラクション」タブが表示されます。
次の情報を参照し、タブの各フィールドにデータを入力します。
フィールド | 説明 |
---|---|
ファンクション名 | このタイプのコール(「オブジェクトの読取り」または「すべて読取り」)がEISに対して起動するEISファンクションの名前。 |
入力レコード名 | 入力レコードの作成時に、J2Cアダプタに渡される名前。 |
入力ルート要素名 | 入力DOMに使用されるルート要素名。 |
入力引数 | 引数レコードのインタラクション・フィールドまたはXPathノードにマップされる問合せ引数名。
たとえば、XMLレコードを使用している場合、このオプションを使用して入力引数 |
出力引数 | ディスクリプタのマッピングに使用されるレコード内の正しいノードにマップされる、結果のレコード・フィールドまたはXPathノード。
たとえば、XMLレコードを使用している場合、このオプションを使用して出力 対話でディスクリプタのマッピングと一致するXML結果が返される場合、出力引数は必要ありません。 |
入力結果のパス | EISインタラクションが、XMLレコードにネストされるインタラクション引数を予期する場合に、このオプションを使用します。
たとえば、引数を最初にルート要素 |
出力結果のパス | このタイプのコール(「オブジェクトの読取り」または「すべて読取り」)がEISに対して起動するEISファンクションの名前。 |
プロパティ | EISプラットフォームが必要とするプロパティ。たとえば、プロパティ名operation (AQPlatform.QUEUE_OPERATION から)およびプロパティ値enqueue (AQPlatform.ENQUEUE から)。 |