powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Playframerwork, ebean and native sql
9 сообщений из 9, страница 1 из 1
Playframerwork, ebean and native sql
    #38988052
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую! Подскажите кто знает...есть метод, который получает список (List) из базы данных. Результат запроса передается в Page и дальше на отображение пользователю.

Запрос делаю с помощью native-query. В результате получаю десять строк (p.getList() = 10), но в p.getTotalRowCount() я получаю количество всех элементов таблицы (1000).

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
StringBuilder sql_text = new StringBuilder("SELECT id, username, email FROM users limit 10");
RawSql resultsRawSql_text_users = RawSqlBuilder.parse(sql_text_accounts.toString()).create();

Query<Users> query_users = Ebean.find(Users.class);

query_users.setRawSql(resultsRawSql_text_users)

Page<Users> p = query_users.findPagingList(0).getPage(0);

return ok(page.render(p, page));


Как поменять или что поменять, чтобы в p.getTotalRowCount() было корректное значение.
...
Рейтинг: 0 / 0
Playframerwork, ebean and native sql
    #38991708
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никто не сталкивался с подобной проблемой?
...
Рейтинг: 0 / 0
Playframerwork, ebean and native sql
    #38991817
pavel_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так все верно же? всего по этим условиям 1000 записей, вы получаете первую "страницу". Для работы с пагинацией - то что нужно (вы же используете findPagingList осознанно?).
...
Рейтинг: 0 / 0
Playframerwork, ebean and native sql
    #38996394
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не совсем понял, что "верно"? Я как-то неправильно строю запрос? Если запустить данный запрос в клиенте, то в результате по заданным условиям будет всего 10 записей. То есть, теоретически должно быть, чтобы
p.getTotalRowCount() = 10 и p.getList()=10. Может что-то не учел?
...
Рейтинг: 0 / 0
Playframerwork, ebean and native sql
    #38996703
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никаких больше вариантов?
...
Рейтинг: 0 / 0
Playframerwork, ebean and native sql
    #38996765
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первая же ссылка в гугле:
авторgetTotalRowCount

int getTotalRowCount()

Return the total row count for all pages.
...
Рейтинг: 0 / 0
Playframerwork, ebean and native sql
    #38996784
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это понятно. Согласно условиям селекта - в результате выдается 10 строк. То есть несмотря на то, что в базе 1000 записей. Селект выдает только 10. Поэтому и страница одна с десятью записями. То бишь, getTotalRowCount() должно равняться 10, а не 1000.
...
Рейтинг: 0 / 0
Playframerwork, ebean and native sql
    #38996806
pavel_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qi_ip,

если вы хотите получить что количество записей 10, то зачем использовать "findPagingList()", который предназначен для пагинации?
...
Рейтинг: 0 / 0
Playframerwork, ebean and native sql
    #38996968
qi_ip
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так, думаю, что не точно изложил задачу, поэтому не до конца понятно, что я хочу получить.

Сам запрос динамический, то есть, может выводить все 1000 записей или, при определенных дополнительных условиях (например, username like '%uniq%'), 5 или 10 записей. Но и в том, и в другом случае нужна пагинация. То есть, для пользователя есть настройка выводить по 10 строк на страницу. 10 записей, приведенных в первом посту - это частный пример, так как записей может быть и 5, и 15.
По моим измышлениям, в случае:
а) если нет никаких дополнительных условий, при запросе должно быть p.getTotalRowCount() = 1000;
б) если есть какое-то условие, то p.getTotalRowCount() = 10 или p.getTotalRowCount() = 15;
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Playframerwork, ebean and native sql
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]