2010-12-03 5 views

ответ

0

Я нашел атрибут orphanRemoval для @OneToMany и @OneToOne отношений:

Когда целевой объект в один-к-одному или один-ко-многим удаляется из отношения, часто желательно каскадировать операцию удаления на целевой объект. Такие целевые объекты считаются «сиротами», а атрибут orphanRemoval может использоваться для указания того, что осиротевшие объекты должны быть удалены. Например, если в заказе много позиций, и одна из позиций удалена из заказа, удаленная позиция считается сиротой. Если для параметра orphanRemoval установлено значение true, объект позиции будет удален, когда позиция будет удалена из заказа.

Использование:

@OneToMany(mappedBy="customer", orphanRemoval=true) 
public List<Order> orders; 
0

Есть две вещи, которые должны быть очень четко при обращении агрегацию в JPA.

  1. Отношения в реляционном мире.
  2. Отношения, требуемые в объекте мира.

Отношения в мире Java регулируются областью применения. Например, у пользователя может быть много адресов, поэтому мы сохраняем агрегирование адреса в User и не сохраняем обратную связь. Для композиции нам нужно обработать каскадное поведение.

Более подробно обработка может быть видна here

 Смежные вопросы

  • Нет связанных вопросов^_^