我正在应用领域驱动设计聚合模式到我的模型中。我遵循常见的DDD聚合模式示例:
我将使用Hibernate JPA来实现这种模式。这将强制执行从
然后,我读到了https://fedcsis.org/proceedings/2013/pliks/322.pdf关于Hibernate集合中反模式的描述。它提到,一对多作为拥有方是反模式,因为Hibernate会发出额外的查询。但是,这个反模式正好适用于我的
那么,我该如何在Hibernate中实现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
中)?