1対多マッピングは、1つのソース・オブジェクトとターゲット・オブジェクトのコレクションの間の関連を表すために使用されます。このマッピングは、Vector
(または他のコレクション型)を使用してJavaで実装することは容易ですが、リレーショナル・データベースを使用して実装することは困難であることを示すよい例です。
JavaのVector
では、所有者がそのパーツを参照します。リレーショナル・データベースでは、パーツがその所有者を参照します。リレーショナル・データベースはこの実装を使用して問合せをより効率的に行います。
Vector
以外のコレクション・クラスを使用する場合の詳細は、「コンテナ・ポリシーの使用」を参照してください。ターゲットでこの1対1マッピングを作成する目的は、ターゲット・オブジェクトが保存される際に外部キー情報を書込みできるようにすることです。1対1マッピングの後方参照の代替方法には、次のようなものがあります。
例5-7 1対多マッピング
1対多マッピングでは、ソース表ではなくターゲット表への外部キー設定が必要です。次の図に示されているように、ターゲット・クラスもソース・オブジェクトへの後方1対1マッピングを実装します。
図5-16 1対多リレーションシップ
Copyright © 1997, 2006, Oracle. All rights reserved.