考虑Order / Orderline的情况,其中Orderline是VO集合,在这种情况下,持久的Orderline到DB需要一个具有自己的行集的单独表,作为一个VO,它不能有一个id按照DDD,如果ORM用于持久性,如何解决这种不匹配问题。 (这个例子的有效性是主观的,但在这个小时可以得到更好的结果,请原谅我)
答案 0 :(得分:3)
OrderLine
表肯定不会要求一个ID,因为它只需要与相关的Order
相关联。 OrderId
表中会包含OrderLine
,但 不会包含在OrderLine
VO中,因为该关联包含在Order
VO中{1}} AR。
例如,如果您的数据库坚持使用主键,则可以使用OrderId
和ProductId
或其他有意义的组合。即使合成密钥(例如UniqueIdentifier
)也可以,因为该字段也会从域中排除。