gpt4 book ai didi

c# - Hibernate 是否支持通过 ids 引用实体而不是直接引用?

转载 作者:太空宇宙 更新时间:2023-11-04 15:24:10 24 4
gpt4 key购买 nike

我正在阅读Implementing Domain-Driven Design作者:Vaughn Vernon,在有关聚合的章节中显示了以下结构:

enter image description here

这个结构可以使用 Hibernate/NHibernate 轻松映射,因为每个实体通过引用引用聚合根。

但是,他决定将设计重构为:

enter image description here

现在,所有实体都使用 ProductId 值对象来引用根。

如何使用 Hibernate/NHibernate 对此进行建模?

图表的解释可以在这里找到 Effective Aggregate Design by Vaughn Vernon

最佳答案

在BacklogItem、Rlease、Sprint的hbms中

<component name="productId">
<property name="value" column="product_id"/>
</component>

或者JPA风格

@Embedded
@OverrideAttributes....
private ProductId productId

在这种情况下,BacklogItem 不需要延迟加载 Product,因此一个简单的标识符就足够了。只需将它们视为 hibernate 组件即可。

关于c# - Hibernate 是否支持通过 ids 引用实体而不是直接引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20051694/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com