1対多マッピングの使用

1対多マッピングは、1つのソース・オブジェクトとターゲット・オブジェクトのコレクションの間の関連を表すために使用されます。このマッピングは、Vector(または他のコレクション型)を使用してJavaで実装することは容易ですが、リレーショナル・データベースを使用して実装することは困難であることを示すよい例です。

JavaのVectorでは、所有者がそのパーツを参照します。リレーショナル・データベースでは、パーツがその所有者を参照します。リレーショナル・データベースはこの実装を使用して問合せをより効率的に行います。


注意: 1対多マッピングでVector以外のコレクション・クラスを使用する場合の詳細は、「コンテナ・ポリシーの使用」を参照してください。

ターゲットでこの1対1マッピングを作成する目的は、ターゲット・オブジェクトが保存される際に外部キー情報を書込みできるようにすることです。1対1マッピングの後方参照の代替方法には、次のようなものがあります。

1対多マッピングでは、ソース表ではなくターゲット表への外部キー設定が必要です。次の図に示されているように、ターゲット・クラスもソース・オブジェクトへの後方1対1マッピングを実装します。

図5-16 1対多リレーションシップ

This figure shows a one-to-many relationship in Java and a relational database.


関連項目

TopLinkマッピング・タイプについて
リレーションシップ・マッピングの使用

 

Javaオブジェクトの1対多マッピングの作成
CMP EJBの1対多マッピングの作成

 

Copyright © 1997, 2004, Oracle. All rights reserved.