Когда мы обновляем запись, мы можем использовать session.flush()
с В спящем режиме. В чем потребность flush()
?
Flushing the Session получает данные, которые в данный момент находятся в сессии, синхронизированные с данными в базе данных.
Подробнее на сайте Hibernate:
flush()
полезен, потому что нет абсолютно никаких гарантий относительно того, когда сессия выполняет вызовы JDBC, только порядок их выполнения - если только вы не используете flush()
.
Очистка сеанса заставляет Hibernate синхронизировать состояние в памяти сеанса
с базой данных (т. Е. Записывать изменения в базу данных). По умолчанию Hibernate автоматически сбрасывает изменения для вас:
Разрешение явной очистки сеанса
дает более точный контроль, который может потребоваться в некоторых случаях. обстоятельства (чтобы получить идентификатор, контролировать размер сеанса, ...).