Как получить счетчик того, что будет возвращено объектом запроса Hibernate? - PullRequest
0 голосов
/ 05 октября 2011

У меня есть кусок кода, который получает произвольный объект org.hibernate.Query. Этот запрос не является запросом 'count'. Как получить количество элементов, которые будут возвращены из этого запроса, не разбирая строку SQL из запроса?

Я наткнулся на объект org.hibernate.Criteria в своем исследовании этой проблемы, в котором есть метод setProjection(Projections.rowCount()). Но мне не удалось найти способ преобразовать объект Query в объект Criteria или найти аналогичный метод для объекта Query.

Заранее спасибо.

1 Ответ

0 голосов
/ 06 октября 2011

Вы можете использовать Query.scroll(), добраться до последней позиции, используя ScrollableResults.last(), и позвонить getRowNumber().

Обратите внимание, что это даст вам количество строк SQL, а не обязательно количество сущностей, возвращаемых запросом (например, если в коллекции есть выборка соединения).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...