ルートを経由せずにアグリゲートから読み取り専用コレクションを取得しても大丈夫ですか?私のモデルは現在これのいくつかを行っており、それが許容できる設計であるかどうか疑問に思っていました。ありがとう
編集:
これが例です
UserAccountという集約ルートエンティティとVideoStoreという別の集約ルートがあります。ユーザーは離れた場所に複数の店舗を持つことができ、ビデオ店には多くのユーザーがいる可能性があります。非常に基本的な多対多ですが、多対多のブリッジテーブルに状態情報が含まれているためではないため、エンティティでもある必要があります。したがって、UserVideoStoresというブリッジエンティティと、その集約ルートVideStore(1対多)の子があります。
ここで、ユーザーがログインするときに、どのVideoStoreから離れているかを調べて、その情報を表示したいと思います。UserAccountエンティティに、集約ルートVideoStoreの子UserVideoStoresへの直接(1対多)参照を持たせることで、これを簡単に行うことができます。これを行う方が簡単なようです。HQLクエリを使用し、グラフの下から上に向かって検索して、ユーザーが離れているストアを見つける必要があります。
それは理にかなっていますか?
編集:
さて、私は自分のモデルをよりクリーンにするための解決策を思いつきました。私は自分のデザインのいくつかについてまっすぐに考えていませんでした、そして私は解決策を考え出すのを助けるためにnHibernateをもう少しうまく使う方法を学びました。ありがとう