У меня есть следующие классы:
class A {
Integer id;
@OneToMany(mappedBy="parent", fetch=FetchType.EAGER, cascade={CascadeType.ALL})
Set<B> children;
}
class B {
Integer id;
@ManyToOne(fetch=FetchType.EAGER)
A parent;
}
в базе данных есть данные, скажем, a1, у которых {b1, b2, b3} дочерние элементы.
когда я пытаюсь обновить набор дочерних элементов a1 до {b4, b5}, я получаю в базе данных b1..b5.
в моем коде я принимаю меры предосторожности при вызове clear()
для набора детей, но это не влияет на базу данных.
Должен ли я повторить и вызвать session.delete(child)
для каждого потомка А?
спасибо,