DDD指定每個集合的存儲庫,但是當擁抱Spring Data JPA時,只有當我們聲明每個實體的接口時,才能利用好處。如何解決這種阻抗不匹配問題?域驅動設計庫和Spring數據庫之間是否存在不匹配?
我希望能夠嘗試封裝在聚合存儲庫中的存儲庫接口,這是一個好的解決方案或更好的可用?
爲了給出一個例子:Customer
是聚合根和實體是像Demographics
,Identification
,AssetSummary
等等,其中每個實體可以從具有自己的資源庫接口受益。沒有太多違反DDD的最佳方法是什麼?
感謝您的回答。在嘗試考慮將實體作爲聚合的一部分的可能性時,我想到了這個問題,它不需要或不需要對聚合根進行關係映射,我想這可以通過定製存儲庫impl來實現根,我錯了假設? –
此外,當我必須去使用這樣的自定義impl時,我或多或少地開始放棄Spring Data的好處(如果我上面假設的假設成立) –
在另一個聚合中*未包含的實體當然可以獲取它們的存儲庫,太。我通常認爲它們是一個單一實體聚合體,實體就是聚合根本身。該模式的重要組成部分是,聚合中包含的實體不能被操縱,除非通過聚合。因此,並不是每個JPA實體都有一個Spring Data存儲庫。 –