Как проверить наличие хотя бы одной записи, соответствующей данному набору фильтров? - PullRequest
1 голос
/ 17 марта 2011

Сейчас у меня есть спящая модель, в которой я устанавливаю фильтр, а затем загружаю его.Мне просто нужно выполнить другую логику, если найдена хотя бы одна запись, и если не найдено ни одной записи.

Проблема в том, что загрузка всех совпадающих записей может быть очень трудоемкой и неэффективной.Есть ли способ загрузить только первую найденную модель или сделать что-то в hql, которое просто скажет мне, есть ли запись, соответствующая моим фильтрам?

Ответы [ 2 ]

0 голосов
/ 17 марта 2011

Из Hibernate Manual :

Вы можете подсчитать количество результатов запроса, не возвращая их:

((Integer) session.createQuery ("выберите count (*) из .... "). iterate (). next ()) .intValue ()

Если в модели установлен фильтр, он будет применен к этомузапрос также.

0 голосов
/ 17 марта 2011

Вы можете использовать проекции и сосчитать некоторый индексированный столбец.

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