【问题标题】:Hibernate cascading update (inverse/mappedBy)Hibernate 级联更新(inverse/mappedBy)
【发布时间】:2012-01-20 04:09:54
【问题描述】:

我定义了 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 的属性并为客户创建一个新订单。然后我想在不更新客户的情况下将新创建的订单保存到数据库中。

但目前当我保存(订单)时,它也会更新客户。如何在不更新客户的情况下插入订单?

意思是,这是一个一对多的映射。我修改了一个对象并创建了一个“多”对象。我想保存“多”对象而不更新“一个”对象。

【问题讨论】:

标签: java hibernate dao


【解决方案1】:

在这种情况下,如果您已经知道的话,我当然更喜欢存储带有“一个”对象 ID 的“许多”对象。尝试使用指定的 CUSTOMER_ID 保存新订单。下次加载时它会出现在 Customer 对象中。

【讨论】:

    猜你喜欢
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多