![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
UnicornMirage |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 15.11.2005 Репутация: нет Всего: 1 |
Здравствуйте.
Задача - сделать постраничную выборку из большого множества. Причем в интерфейсе пользователя необходимо также указывать общее число записей (или общее число страниц). Как это можно (лучше) сделать, мне приходит в голову два варианта: 1) Выполнять два запроса, сначала - SELECT count(*) FROM .. WHERE для получения общего кол-ва. Причем это число можно где нибудь кешировать, чтобы в следующий раз не выполнять запрос если мы просматриваем тот же список. Затем мы указываем Query.setFirstResult(...), Query.setMaxResults(...) и выполняем второй - from ... WHERE для получения записей 2) Использовать ScrollableResults, вариант быстрее, но не все СУБД его поддерживают. Какие еще существуют более эффективные способы? |
|||
|
||||
ivanovpv |
|
|||
![]() Варвар ![]() ![]() Профиль Группа: Участник Сообщений: 639 Регистрация: 26.1.2005 Где: Москва Репутация: 2 Всего: 28 |
Написать хранимку средствами СУБД, далее дергать хранимку. Это самый эффективный способ, но наименее транспортабельный.
-------------------- Aut viam inveniam aut faciam |
|||
|
||||
Старовъръ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 491 Регистрация: 8.5.2008 Репутация: 1 Всего: 10 |
Если работаешь с Criteria API, то есть такая вещь как Projections.
Вот хорошая вещь: http://docs.jboss.org/hibernate/core/3.3/r...rycriteria.html -------------------- |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |