是否可以让双向字段自动更新,如果更改了一面?
class Customer {
@OneToManycascade=ALL, mappedBy="customer")
public list<Order> orders;
}
class Order {
@ManyToOne
private Customer customer;
}
如果我在订单类中设置客户字段,是否还必须对Customer类的订单列表执行添加(订单)? 或者可以以某种方式自动更新另一方?
TY
答案 0 :(得分:1)
我这样做的方法是将订单添加到客户,然后坚持客户,该客户将自动保留&#34;拥有方&#34;订单
Order newOrder = new Order();
customer.orders.add(newOrder);
order.setCustomer(customer);
customerDao.persistOrMerge(customer);
根据您使用的实现(JPA,Hibernate..etc),您可能还需要将客户添加到订单中。但是在大多数实现中,级联应该处理这个问题。我个人不会依赖于确定实施对您的影响,并且会增加双方并以这种方式坚持。我个人也会首先存储非拥有方。但同样,取决于实施,也可能不是必要的。