Каскадное обновление Hibernate (inverse/mappedBy)

У меня есть 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;
}

Один клиент может иметь много заказов.

По моей логике я буду изменять свойство Клиента и создавать новый заказ для Клиента. Затем я хочу сохранить новый созданный заказ в базе данных без обновления клиента.

Но в настоящее время, когда я сохраняю (заказ), он также будет обновлять клиента. Как вставить заказ без обновления клиента?

Значит, это отображение один ко многим. Я изменил один объект и создал один объект "многие". Я хочу сохранить объект "многие" без обновления объекта "один".

1 ответ

В этом случае я предпочитаю хранить "много" объекта с "идентификатором объекта", определенным, конечно, если вы уже это знаете. Попробуйте сохранить новый заказ с указанным CUSTOMER_ID. Он применяется в объекте Customer в следующий раз, когда он был загружен.

Другие вопросы по тегам