Как получить общее количество строк поиска с помощью всего одного "выбора" в 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(). Возможно ли это сделать?

0 ответов

Другие вопросы по тегам