【发布时间】:2014-02-21 17:03:18
【问题描述】:
我在我的模型中应用领域驱动设计聚合模式。我遵循常见的 DDD 聚合模式示例:Order 是管理一个或多个 LineItem 的根聚合。在我在网上找到的许多聚合模式示例中,LineItem 不应该知道他们的Order。
我将使用 Hibernate JPA 来实现这个模式。这将强加从Order 到LineItem 的单向一对多映射。基于该模型,将Order(聚合根)作为拥有方是很直观的。
然后,我读到了 https://fedcsis.org/proceedings/2013/pliks/322.pdf,它描述了 Hibernate 集合中的反模式。它提到一对多作为拥有方是一种反模式,因为 Hibernate 会发出额外的查询。但是,反模式完全适合我的 Order - LineItem 聚合模式实现。
我应该如何在 Hibernate 中实现 DDD 聚合模式(例如,添加或更新LineItem 的唯一方法是从它的Order 中)?
【问题讨论】:
标签: java hibernate design-patterns jpa domain-driven-design