私の基本的なシナリオは、JPAにマップされている双方向の多対多の関係です。十分に簡単です。しかし、マッピングに '型'を追加する必要があり、私は最良の実装に苦しんでいます。ここでアウトラインがあります:サブタイプによる多対多JPAマッピング
Network
Set<Member> defaultMembers; //members that meet the network definition
Set<Member> suppressedMembers; //members that meet the network definition, but are hidden.
Set<Member> addedMembers; //memders that don't meet the network definition, but have been added in anyway.
Member
Set<Network> attachedNetworks;
私は、これは双方向(例えば、私が唯一のネットワークからメンバーを取得するために必要な、その他の方法を移動できるようにする必要はありませんでした)である必要はありませんでした場合は、私にとって最も明白な解決策は、メンバーの各セット(network_member, suppressed_member, added_member
)ごとに1つのリンクテーブルですが、それは別の方法に分かれています。私は1つのリンクテーブルを使用してディスクリミネータカラムを持つエンティティにすることができますが、誰かがリンクテーブルをエンティティとして使用するのを見るたびに、コードは災害に変わるようです。
私は多くの同様の質問を見つけましたが、質問はあまりにも具体的でないか、答えが私が求めている解決策をかなりカバーしていません。この状況を処理する最善の方法に関する提案はありますか?
最初の解決策は十分に適切です。主な偶然はメンバーの観点からは、私は添付ファイルの種類については気にしないということです。それをもう一度見てみると、私の本当の疑問は、「3つの別々のコレクションにぶつかるのではなく、ネットワークの関係を含めると簡単にメンバに対してクエリを保存するためのパターンがありますか?私は自分の質問を編集するつもりです。 – Ickster
これが主な目的なら、おそらく私の2番目の解決策が最適です。 –
私はちょうどあなたの2番目の提案を読んで、私が当初想定していたものではないことに気付きました。私はそれを設定することを見てみましょう。ありがとう。 – Ickster