我定义了2个对象:
class Customer
{
@OneToMany(mappedBy="customer", fetch=FetchType.LAZY, cascade={CascadeType.ALL})
@JoinColumn(name="ORDER_ID", nullable=false)
private Set<Order> orders;
}
class Order
{
@ManyToOne
@JoinColumn(name="CUSTOMER_ID", nullable=false, insertable=true, updatable=false)
private Customer customer;
}
一个客户可以有很多订单。
在我的逻辑中,我将修改Customer的属性并为客户创建新订单。然后我想在不更新客户的情况下将新创建的订单持久化到数据库中。
但是目前我保存(订购)时,它也会更新客户。如何在不更新客户的情况下插入订单?
意思是,这是一对多的映射。我修改了一个对象并创建了一个“很多”对象。我想保存“many”对象而不更新“one”对象。
答案 0 :(得分:0)
在这种情况下,如果您已经知道,我更喜欢将“many”对象与“one”对象ID一起存储。尝试使用指定的CUSTOMER_ID保存新订单。它在下次加载时在Customer对象中进行应用。