前述の関係をいつ使用するかについて、いくつかの説明を探しています。
例として、クラスBのインスタンスによって参照されるクラスAがあります。
この関係はOneToManyでモデル化され、クラスAで定義されたクラスBのコレクションを持つべきですか、それともManyToOneによってモデル化され、クラスBのクラスAへの参照を持つべきですか?
私の質問は、関係の選択が完全にプログラマー次第なのか、アプリケーション依存なのか、JPA依存なのかということです。
前述の関係をいつ使用するかについて、いくつかの説明を探しています。
例として、クラスBのインスタンスによって参照されるクラスAがあります。
この関係はOneToManyでモデル化され、クラスAで定義されたクラスBのコレクションを持つべきですか、それともManyToOneによってモデル化され、クラスBのクラスAへの参照を持つべきですか?
私の質問は、関係の選択が完全にプログラマー次第なのか、アプリケーション依存なのか、JPA依存なのかということです。
OneToManyとManyToOneは、同じコインの表裏です。アソシエーションが単方向(つまり、双方向ではない)の場合、関係の選択は、どちらの側が関係を所有するかを選択することと同じです。例:
関連付けが双方向である場合、想定により、OneToManyとManyToOneの両方を使用しています。所有者側を選択しても、どちらか一方の決定を強制されることはありません。