インタフェース・ディスクリプタは、インプリメンタ間で共有される問合せキーでのみ定義されます。インタフェースのディスクリプタでは、問合せキーの名前のみが指定されます。
各インプリメンタのディスクリプタで、キーを該当するフィールドとともにインプリメンタのディスクリプタの表の1つから定義します。
これによって、インタフェースへのマッピングを含むディスクリプタから外部キー情報を指定する場合に、フィールド名が異なる場合でも、1つの問合せキーが使用されるようになります。
Contactタイプの連絡先を含むEmployeeがあると想定します。Contactは、PhoneおよびEmailAddressの2つのインプリメンタを持つインタフェースです。各クラスには2つの属性があります。次の図は生成されたキーを表しています。
図4-29 PhoneおよびEmailについて自動生成された問合せキー
図4-30 共通問合せキーidを使用したContactインタフェース・ディスクリプタ
共通に共有される問合せキーを持つディスクリプタがContactについて定義されているため、これを可変1対1マッピングの参照クラスとして使用できます。たとえば、Employeeのcontact属性に対する1対1マッピングを作成できます。マッピングに対する外部キー・フィールド情報を編集する際、Employeeディスクリプタの表をContactインタフェース・ディスクリプタからの問合せキーと一致させる必要があります。
詳細は、「インタフェースの使用」および「Javaオブジェクト・リレーションシップ・マッピングの使用」を参照してください。
Copyright © 1997, 2004, Oracle. All rights reserved.