DDDは集約ごとのリポジトリを指定しますが、Spring Data JPAを採用するときは、エンティティごとにインタフェースを宣言した場合にのみメリットを活用できます。このインピーダンスのミスマッチをどのように解決できますか?ドメイン駆動型デザインリポジトリとSpringデータ型との間に不一致がありますか?
私は、リポジトリインタフェースを集約リポジトリ内にカプセル化してみることを望んでいます。それはOK解決策なのでしょうか。与えられた例に
:Customer
集約ルートであり、各エンティティが独自のリポジトリインターフェースを有することから利益を得ることができるところのエンティティはDemographics
、Identification
、AssetSummary
等のようです。 DDDに違反することなく最良の方法は何ですか?
お返事ありがとうございます。この問題は、実体を集合体の一部として持つ可能性を検討しようとしているときに発生しましたが、集合体のルートへのリレーショナル・マッピングを持たない、または必要としません。根、私は間違ってこれを仮定していますか? –
さらに、私はそのようなカスタムインプラントを持っていなければなりません。上記の私の前提が成立すれば、Spring Dataのメリットを先取りすることができます。 –
別の集合体に含まれていないエンティティは、あまりにも。私は通常、エンティティが集約ルート自体である単一エンティティ集約としてそれらを考えます。そのパターンの重要な部分は、集約に含まれるエンティティは、集約を介して操作される場合を除いて操作されてはならないということです。したがって、すべてのJPAエンティティがその側にSpring Dataリポジトリを取得するわけではありません。 –