Если мы используем предложение WHERE, базе данных, возможно, придется сканировать всю таблицу, чтобы подсчитать записи, соответствующие нашим критериям, но мы можем ограничить поиск только одной записи, достаточно сказать о пустоте.
Если бы не было каких-либо поисковых фильтров, предыдущий запрос был бы допустим, поскольку база данных выполняла бы некоторую оптимизацию с использованием индекса.
, поэтому я полагаю, что следующий запрос увеличит производительность по сравнению с предыдущим:
boolean exists = session.createQuery("from PersistentEntity where ...").setMaxResults(1).uniqueResult() != null;