Каскадное обновление 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 в следующий раз, когда он был загружен.