hibernate 是否会自动设置@OneToMany @ManyToOne 关系中的引用?
Does hibernate set back reference in @OneToMany @ManyToOne relationship automatically?
我有包含 orderItems
列表的订单实体。
@OneToMany(mappedBy ="order")
List<OrderItem> orderItems;
OrderItem
已向后引用订单
@ManyToOne
Order order;
当我保存 Order
时,我应该在 OrderItem
实体中手动设置反向引用吗?
像这样
OrderItem orderItem1 = new OrderItem( //constructor );
OrderItem orderItem2 = new OrderItem( //constructor );
List orderItems = Arrays.asList(orderItem1, orderItem2);
Order order = new Order( orderItems);
orderItems.forEach(orderItem -> orderItem.setOrder(order); // like this?
Hibernate 和 Spring 数据 jpa 是否自动设置?
对于创建和更新案例,他们不会帮你自动设置,你必须自己配置关系。
这里的mappedBy
定义是用Order.orderItems
还是OrderItem.order
为它们之间link对应的DB列提供值。 (即 order_item
table 中的 order_id
列)。
如果定义了 mappedBy
,OrderItem.order
将用于为关系提供值。否则,将使用 Order.orderItems
。
对于加载情况,它会帮你自动设置。
我有包含 orderItems
列表的订单实体。
@OneToMany(mappedBy ="order")
List<OrderItem> orderItems;
OrderItem
已向后引用订单
@ManyToOne
Order order;
当我保存 Order
时,我应该在 OrderItem
实体中手动设置反向引用吗?
像这样
OrderItem orderItem1 = new OrderItem( //constructor );
OrderItem orderItem2 = new OrderItem( //constructor );
List orderItems = Arrays.asList(orderItem1, orderItem2);
Order order = new Order( orderItems);
orderItems.forEach(orderItem -> orderItem.setOrder(order); // like this?
Hibernate 和 Spring 数据 jpa 是否自动设置?
对于创建和更新案例,他们不会帮你自动设置,你必须自己配置关系。
这里的mappedBy
定义是用Order.orderItems
还是OrderItem.order
为它们之间link对应的DB列提供值。 (即 order_item
table 中的 order_id
列)。
如果定义了 mappedBy
,OrderItem.order
将用于为关系提供值。否则,将使用 Order.orderItems
。
对于加载情况,它会帮你自动设置。