Что именно происходит, когда я вызываю Session.flush () в открытом сеансе гибернации?Все ли сущности, которые я изменил (сохранил, удалил, обновил) с сохранением / обновлением / удалением, записаны в базу данных, или ВСЕ сущности в сеансе записаны в базу данных, также если я не вызывал обновление и т. Д. На них?
Я нахожу множество ресурсов Hibernate, говорящих об этом, но ничто не дает мне точно точный ответ, который я ищу.
Простые примеры:
class A {
@OneToOne
public B b;
public int x;
}
class B {
@OneToOne(mappedBy="b")
public B b;
public int y;
}
// Example
A a = aDao.load(...);
a.x = 20;
b.y = 15;
aDao.update(a);
// Question: Will this update b's value to 15 in the database?
session.flush();
Если Bбудет обновлен в примере выше, как я могу предотвратить это?
Спасибо за вашу помощь!