Моя проблема в том, что у меня есть объект A, который содержит список объектов B.
@Entity
class A {
@OneToMany(cascade={CascadeType.MERGE})
List<B> list;
}
Когда я делаю «слияние» объекта A, а затем вызываю «flush» внутри метода EJB без сохранения состояния
em.merge(a); //a is of class A
em.flush(); //doesn't flush "list"
на самом деле это не работает. идентификаторы объектов B "списка" не установлены.
Но сохранение и промывка работают
em.persist(a);
em.flush(); // it works!
Идентификаторы объекта B "списка" установлены.
Я использую EclipseLink. Кто-нибудь знает, что может происходить?