Как получить общее количество строк поиска с помощью всего одного "выбора" в Hibernate, используя setFetchSize() и без scroll() всех строк? Является ли это возможным?
Во-первых, я использую Java и Hibernate (с методом setFech() и классом ScrollableResults).
Во-вторых, я работаю с таблицей, в которой десятки миллионов строк и более ста столбцов. И этот стол соединяется с двумя другими. Таким образом, простой "выбор количества (*)" занимает 1 минуту.
Я использую приведенный ниже код, чтобы получить результат выбора, который вернет несколько миллионов строк и всех столбцов. Так что я обязательно использую fetch.
session = ((Session) manager.getDelegate()).getSessionFactory().openStatelessSession();
Query q = session.createSQLQuery(query).addEntity(MyEntity.class).setFetchSize(1000);
После этого первого выбора мне нужно знать общее количество строк поиска, но я не хотел бы делать еще один выбор (это занимает 1 минуту), и я не могу вызвать все scroll.next(). Возможно ли это сделать?