Моя проблема в том, что у меня есть объект 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. Кто-нибудь знает, что может происходить?