【发布时间】:2012-01-15 18:52:53
【问题描述】:
使用对象关系映射器时,如何在另一个实体中创建新实体以及如何持久化它们?我正在使用 Doctrine 2 (PHP),但我认为这同样适用于 Hibernate (Java) 和 NHibernate (C#)。
例如,O 有一个 Order 实体,该实体具有 setCompleted() 方法。我的业务逻辑规定,无论何时完成订单,都会创建一个新的 Product 实体。请注意,Order 和 Product 目前不相关(应该是吗?)。对我来说,最合乎逻辑的放置业务逻辑的地方是 setCompleted() 方法。但是我如何告诉 ORM 有一个新实体要持久化呢?实体管理器在实体内部不可用。
还是我以错误的方式解决了这个问题,我应该以其他方式实现它吗?
【问题讨论】:
标签: hibernate nhibernate orm domain-driven-design doctrine-orm