Еще раз: это проблема с режимом сброса.
По умолчанию hibernate использует режим сброса AUTO, который сообщает, что система может иногда вызывать сброс, чтобы гарантировать, что устаревшие состояния не будут возвращены.
пока вы были на 3.6, ваш сеанс автоматически сбрасывался каждый раз во время обновлений.(зачем хранить неизмененное состояние, если пользователь вызывает обновление: сделайте это и по умолчанию поддерживайте режим AUTO).
Теперь 5 пытается повысить производительность приложений и сократить количество взаимодействий с сервером баз данных.и, следовательно, не сбрасывается при каждом вызове обновления / создания.однако, когда вы пытаетесь выполнить запрос для объектов определенного типа, он проверяет состояние сеанса и видит, что есть изменения в объектах запрашиваемого типа, и, таким образом, выполняет сброс до точного SELECT.
Для преодоления этого: вызовите сбрасывать вручную, когда вы ожидаете этого.Как я могу предположить, вы полагаетесь на уникальную проверку базы данных в упомянутом тесте, и проверка происходит только во время сброса.Это будет самый простой способ модификации.Другой подход заключается в извлечении уникальной проверки чистой базы данных на основе службы ...
Или просто измените конфигурацию спящего режима на использование FlushMode.ALWAYS.