AFAIK это на самом деле невозможно, так как вы не можете получить это состояние запроса к базе данных (сколько строк уже загружено и т. Д.) И, следовательно, вам придется ждать, пока это не завершится.
Затем Hibernate создаст сущности из результатов, и, хотя вы можете перехватить их здесь, я сомневаюсь, что Hibernate предоставляет некоторые полезные хуки.
Таким образом, все, что вы могли бы сказать, может быть, когда Hibernate завершил загрузку результатов из базы данных и когда он создал / обновил все необходимые объекты.
В качестве альтернативы, вы можете попытаться загрузить объекты в пакетах, то есть сначала получить количество результатов, а затем загрузить отдельные фрагменты (например, 0-99, 100-199, ...). Так как вы знаете количество результатов, вы можете рассчитать количество блоков, а между ними вы можете обновить индикатор выполнения. Однако обратите внимание, что это снизит производительность, особенно если запрос довольно сложный.