Как мы знаем, при массовом обновлении базы данных с помощью гибернации (даже в HQL) сделанные изменения не реплицируются на объекты, сохраненные в текущем сеансе.
Так что я могу вызвать session.refresh для загрузки изменений в мои сущности сеанса.
Мы часто вызываем flush для отправки наших модификаций в БД, но в документации говорится, что он "синхронизирует" сеанс и базу данных ...
Означает ли это, что flush сможет установить хорошее новое значение db для моей сущности сеанса? Или flush в конечном итоге сотрет мое новое значение в БД со старым, сохраненным в сущности?
(Кстати, если поведение hibernate является первым, как оно определяет, какое из них является «хорошим значением»?).
Если я не могу использовать flush в таком случае, рекомендуется очищать сеанс после каждого массового обновления, чтобы в нашем сеансе были хорошие значения?