0

前述の関係をいつ使用するかについて、いくつかの説明を探しています。

例として、クラスBのインスタンスによって参照されるクラスAがあります。

この関係はOneToManyでモデル化され、クラスAで定義されたクラスBのコレクションを持つべきですか、それともManyToOneによってモデル化され、クラスBのクラスAへの参照を持つべきですか?

私の質問は、関係の選択が完全にプログラマー次第なのか、アプリケーション依存なのか、JPA依存なのかということです。

4

1 に答える 1

1

OneToManyとManyToOneは、同じコインの表裏です。アソシエーションが単方向(つまり、双方向ではない)の場合、関係の選択は、どちらの側が関係を所有するかを選択することと同じです。例:

  • 1 Aから多くのBへの一方向の関係が必要です。ここで、Aは所有者です。唯一の選択肢はOneToManyです。
  • 1 Aから多くのBへの一方向の関係が必要です。ここで、Bは所有者です。唯一の選択肢はManyToOneです。

関連付けが双方向である場合、想定により、OneToManyとManyToOneの両方を使用しています。所有者側を選択しても、どちらか一方の決定を強制されることはありません。


詳細は@JavaEE 6チュートリアル:エンティティ

于 2012-09-28T02:05:17.243 に答える