Hibernate 多对多持有一段关系的信息

Hibernate 多对多持有一段关系的信息,hibernate,nhibernate,orm,doctrine,domain-driven-design,Hibernate,Nhibernate,Orm,Doctrine,Domain Driven Design,在ORM(无偏好)中,当我们需要保存有关此关系的信息时,如何最好地表示两个模型之间的多对多关系 I have an Order, which can have many Products. A Product can belong to many Orders. 一个订单可以有几个信息附在每个产品上:数量,特殊要求 在数据库设计中,这由一个连接表表示,该表包含数量和特殊请求字段 但是如何在ORM中正确地表示这一点,我只想使用order.products并获得产品的集合?当我计划使用一个身份映射

在ORM(无偏好)中,当我们需要保存有关此关系的信息时,如何最好地表示两个模型之间的多对多关系

I have an Order, which can have many Products.
A Product can belong to many Orders.
一个订单可以有几个信息附在每个产品上:数量,特殊要求

在数据库设计中,这由一个连接表表示,该表包含
数量
特殊请求
字段

但是如何在ORM中正确地表示这一点,我只想使用
order.products
并获得
产品的集合
?当我计划使用一个身份映射时,所有订单中必须只有一个相同产品的实例,这使得我无法拥有某种“修改”的产品,其中包含额外的信息


有什么想法吗?

根据Eric Evans的说法,多对多关联通常会给领域带来很多复杂性,建议的方法是减少领域中此类关联的数量。在您的特定情况下,订单是一个聚合根,它包含一堆OrderItems,其中包含数量和特殊需求字段。

我同意上面的说法。实现这一点的最简单方法是添加一个中间实体(OrderItem),该实体表示与其他列的这种关系。我认为您不希望将此视为订单和产品之间的多对多。

可能的重复