【问题标题】:DDD and storing complex Value Object in db using HibernateDDD 并使用 Hibernate 在数据库中存储复杂的值对象
【发布时间】:2011-03-21 17:52:21
【问题描述】:

在 Eric Evans (http://dddcommunity.org/examples) 编写的示例 DDD 项目中,有一个 Cargo 类,它是一个实体对象,并使用 hibernate 映射到 db 表。该货物域对象由几个值对象组成,其中之一是交付。这个 Delivery 值对象非常复杂,因为它有大约 10 个字段。尽管如此,Delivery 是一个平面对象,因此它可以完美地呈现自己,以便与 Cargo 存储在同一个表中的 db 中。

我在我的应用程序中遵循了 Evans 示例,但遇到了一些困难,希望您能帮助我。

我有一个 InvoiceDefinition 实体对象,它是一个聚合根。除此之外,它还有一个 InvoiceLine 类型的字段,它是一个值对象。 InvoiceLine 不能独立于 InvoiceDefinition 存在。诀窍是 InvoiceLine 可以是叶子节点或树节点,其中包含子 InvoiceLine 值列表。所以它形成了一个递归结构。

这可以作为有效的值对象传递吗? 如何使用休眠将这样的值对象存储在数据库中?

【问题讨论】:

    标签: hibernate domain-driven-design value-objects


    【解决方案1】:

    如果值对象是composite,我认为没有什么不好。
    不过,不变性可能存在问题。

    据我所知 - 使用 hibernate 映射组合有点棘手(here's nhibernate 教程)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-17
      • 1970-01-01
      • 2011-03-24
      相关资源
      最近更新 更多