Очистка сеанса, очистка, обновление после массовых обновлений гибернации?

Как мы знаем, при массовом обновлении БД в спящем режиме (даже в HQL) внесенные изменения не реплицируются в сущности, хранящиеся в текущем сеансе.

Итак, я могу вызвать session.refresh, чтобы загрузить изменения в объекты моего сеанса.

Мы часто вызываем flush для отправки наших изменений в БД, но в документации сказано, что он «синхронизирует» сеанс и базу данных ...

Означает ли это, что flush сможет установить хорошее новое значение db для моего сеансового объекта? Или flush в конечном итоге сотрет мое новое значение db со старым, хранящимся в объекте? (Кстати, если спящий режим является первым, как он определяет, какое из них является "хорошим значением"?).

Если я не могу использовать промывку в таком случае, рекомендуется очищать сеанс после каждого массового обновления, чтобы гарантировать правильные значения в нашем сеансе?

8
задан Sebastien Lorber 13 October 2011 в 16:25
поделиться