powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Query возможно ли в одном запросе часть результатов и их общее количество?
22 сообщений из 22, страница 1 из 1
Query возможно ли в одном запросе часть результатов и их общее количество?
    #39358029
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, делается простой paging не спрашивайте почему так.
У нас руководство решило свой велосипед изобретать.. )))

Так вот, собственно вопрос. Можно ли как-то возможно ли как-то в одном JPQL запросе взять часть данных и получить их общее количество? Иначе придется один и тот же запрос делать 2 раза..

Обычный запрос. Дай мне тикеты которые соответствуют такому условию...
Ну и paging работает сл образом. Соответственно клиенту нужно знать обще количество найденных элементов, чтоб отобразить количество страниц.
Код: java
1.
2.
3.
4.
5.
SELECT t FROM Ticket t WHERE ...

.....

return query.setFirstResult(searchDto.getFirstResultIndex()).setMaxResults(searchDto.getPageSize()).getResultList()



Спасибо!
...
Рейтинг: 0 / 0
Query возможно ли в одном запросе часть результатов и их общее количество?
    #39358033
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_webdev_Так вот, собственно вопрос. Можно ли как-то возможно ли как-то в одном JPQL запросе взять часть данных и получить их общее количество? Иначе придется один и тот же запрос делать 2 раза..
Поиском пользоваться религия не позволяет? Уже несколько раз обсуждали. JPQL ничем это просто упрощенная версия SQL с парой ORM фич. Ваш вопрос только так же относится к SQL, как и к JPQL. Можно ли такое сделать на SQL?


_webdev_Ну и paging работает сл образом. Соответственно клиенту нужно знать обще количество найденных элементов, чтоб отобразить количество страниц.

Именно по этой причине все давно от этого отказались. Навигация по всем страницам пользователю нафиг не нужна. Нужно видеть последние данные. Нужно немного более старые. Подумайте над юзабилити. Страницы остались в прошлом десятилетии.
...
Рейтинг: 0 / 0
Query возможно ли в одном запросе часть результатов и их общее количество?
    #39358034
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_webdev_,

Ну, и нет ничего страшного в двух запросах. И переиспользовать можно через Criteria API или другие билдеры.
...
Рейтинг: 0 / 0
Query возможно ли в одном запросе часть результатов и их общее количество?
    #39358044
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczПоиском пользоваться религия не позволяет? - Не понял к чему это, я же не холиварную тему по обсуждению JPQL создал.

В моем понимании getResultList() - вернет список обьектов типа Ticket как туда прикрутить еще и count непонятно пока, поэтому и спросил.

BlazkowiczИменно по этой причине все давно от этого отказались. Навигация по всем страницам пользователю нафиг не нужна. Нужно видеть последние данные. Нужно немного более старые. Подумайте над юзабилити. Страницы остались в прошлом десятилетии. - я с вами полностью согласен, такого же мнения. Но у людей которые это делают и у руководства - другое мнение...

BlazkowiczНу, и нет ничего страшного в двух запросах. И переиспользовать можно через Criteria API или другие билдеры. - иногда есть, немного страдает перформенс, когда даных тысячи..
...
Рейтинг: 0 / 0
Query возможно ли в одном запросе часть результатов и их общее количество?
    #39358046
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_webdev_иногда есть, немного страдает перформенс, когда даных тысячи..
Ерунда.
...
Рейтинг: 0 / 0
Query возможно ли в одном запросе часть результатов и их общее количество?
    #39358048
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_webdev_ В моем понимании getResultList() - вернет список обьектов типа Ticket как туда прикрутить еще и count непонятно пока, поэтому и спросил.
http://docs.oracle.com/javaee/6/api/javax/persistence/criteria/CriteriaBuilder.html#count(javax.persistence.criteria.Expression)
...
Рейтинг: 0 / 0
Query возможно ли в одном запросе часть результатов и их общее количество?
    #39358052
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz http://docs.oracle.com/javaee/6/api/javax/persistence/criteria/CriteriaBuilder.html#count(javax.persistence.criteria.Expression) - Понял, значитс нельзя так как я хочу. Спасибо за ответ.
...
Рейтинг: 0 / 0
Query возможно ли в одном запросе часть результатов и их общее количество?
    #39358054
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_webdev_,

Ну, можно всякие ухищрения применить, или штуки специфичные для определённого сервера. Но, в целом, они никакого выигрыша не дают.
...
Рейтинг: 0 / 0
Query возможно ли в одном запросе часть результатов и их общее количество?
    #39358057
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczНу, можно всякие ухищрения применить, или штуки специфичные для определённого сервера. Но, в целом, они никакого выигрыша не дают. - Понял, Вашего ответа достаточно.
...
Рейтинг: 0 / 0
Query возможно ли в одном запросе часть результатов и их общее количество?
    #39358136
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_webdev_ возможно ли как-то в одном JPQL запросе взять часть данных и получить их общее количество?
Код: java
1.
SELECT t FROM Ticket t WHERE ...



Спасибо!

Если вас и вашу систему не пугают монструозные запросы, то
Код: sql
1.
2.
SELECT t, (SELECT COUNT(t) FROM Ticket t WHERE ...)  as COUNT_ALL
FROM Ticket t WHERE ...
...
Рейтинг: 0 / 0
Query возможно ли в одном запросе часть результатов и их общее количество?
    #39358163
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может я и глупость напишу но... самое простое.
Получили ResultList - получили данные.
В классе, в котором получаем этот ResultList делаем переменную аля Integer c с геттерами и сеттерами и в этом же запросе после получения листа, берем его сайз и кладем в эту переменную.
Далее пользуемся и данными и этой переменной, которая количество покажет, в других классах.
...
Рейтинг: 0 / 0
Query возможно ли в одном запросе часть результатов и их общее количество?
    #39358164
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не в этом же запросе, а в этом же методе*
...
Рейтинг: 0 / 0
Query возможно ли в одном запросе часть результатов и их общее количество?
    #39358255
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL2008SELECT t, (SELECT COUNT(t) FROM Ticket t WHERE ...) as COUNT_ALL
FROM Ticket t WHERE ...

это хороший вариант , когда записей не много, но когда их приличное количество - будут тормоза при каждом обращении, если считывается по кускам. зато плюс - оператианая инфа о количестве.
как вариант - использование хранимых процедур с многожественным результсетом
...
Рейтинг: 0 / 0
Query возможно ли в одном запросе часть результатов и их общее количество?
    #39358333
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя,
авторМожно ли как-то возможно ли как-то в одном JPQL запросе взять часть данных и получить их общее количество?
мое мнение:
1. решить как брать часть данных - paging
2. общее количество знать не обязательно - поиск в google
...
Рейтинг: 0 / 0
Query возможно ли в одном запросе часть результатов и их общее количество?
    #39358334
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
am_sasa,
ой это ТС
...
Рейтинг: 0 / 0
Query возможно ли в одном запросе часть результатов и их общее количество?
    #39358341
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_webdev_У нас руководство решило свой велосипед изобретать.. )))
это не значит, что вы лично не должны смотреть ГОТОВЫЕ решения.
Что то вы не договариваете.
...
Рейтинг: 0 / 0
Query возможно ли в одном запросе часть результатов и их общее количество?
    #39358384
Фотография Пылинка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_webdev_ - иногда есть, немного страдает перформенс, когда даных тысячи..
Когда данных тысячи, то послать упрощенный запрос с выброшенными внешними соединениями ?и, для JPQL - проекцией с одним count, гораздо проще и надежнее. Просто взять за правило - для кол-ва пишется отдельный запрос.
А в getResultList() сколько реально записей засунуть и сколько вы будете ждать? При постраничном же выводе относительно быстро получите свои 50 первых записей.

PS Аналогично было - там не тысячи, а местами сотни тысяч (вкладчики) строк - и тем не менее можно типа перелистать ВСЕХ по очереди, это при том что в строке часто десятки полей, часть вытаскивается довольно сложно (и дорого). Это менталитет такой у некоторых, но они - заказчики.
Надцать лет назад работал (недолго) в одной ... конторе (ОМС - там записей миллионы), и при всем г-кодерстве там было соглашение выводить на" постранично" только ограниченное кол-во записей, типа 300 - больше всё равно никто листать не будет, кто хочет дальше - пусть уточняет критерии фильтра.
...
Рейтинг: 0 / 0
Query возможно ли в одном запросе часть результатов и их общее количество?
    #39358796
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQL2008Если вас и вашу систему не пугают монструозные запросы, то - пасиб, как выше советовали - сделал как 2 запроса.

NixicВ классе, в котором получаем этот ResultList делаем переменную аля Integer c с геттерами и сеттерами и в этом же запросе после получения листа, берем его сайз и кладем в эту переменную. -
Код: java
1.
query.setFirstResult(searchDto.getFirstResultIndex()).setMaxResults(searchDto.getPageSize()).getResultList()

- у меня так, поэтому мне кажется, предложеный вами вариант работать не будет.

am_sasa2. общее количество знать не обязательно - поиск в google - а вот у нас PO считает по другому, и нужно делать так как он говорит.

Petro123это не значит, что вы лично не должны смотреть ГОТОВЫЕ решения.
Что то вы не договариваете. - немного не понял.. ))) Как это не договариваю. Новый архитектор решил, что будет круто, если мы все фреймворки из проекта выбросим и будем все делать ручками. Я лично не встречал такой функции в Query или CrieriaBuilder..
...
Рейтинг: 0 / 0
Query возможно ли в одном запросе часть результатов и их общее количество?
    #39358841
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_webdev_,
Не встречал? А счас моё сообщение ты как читаешь?
Поиском по форуму хотя бы. Что в jsp, что спринге принципы одинаковы.
Я как раз, с пагинацией кругом вижу. А ты нет.
...
Рейтинг: 0 / 0
Query возможно ли в одном запросе часть результатов и их общее количество?
    #39359073
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_webdev_ Новый архитектор решил, что будет круто, если мы все фреймворки из проекта выбросим и будем все делать ручками.
Реально круто!
Т.е. "дом строим, лепим свои кирпичи, куём гвозди и сами отливаем оконные стекла"?
Сотни-тысячи человеко-часов тестирования отработанных фреймворков на помойку, будем сами ходить по свежим граблям???
Это конечно не моё дело, но гоните вы этого архитектора взашей!
Хлебнёте вы с ним горя...
...
Рейтинг: 0 / 0
Query возможно ли в одном запросе часть результатов и их общее количество?
    #39359106
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQL2008Это конечно не моё дело, но гоните вы этого архитектора взашей!
Хлебнёте вы с ним горя...хм, это реально круто, согласен полностью!
...
Рейтинг: 0 / 0
Query возможно ли в одном запросе часть результатов и их общее количество?
    #39360255
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQL2008Реально круто!
Т.е. "дом строим, лепим свои кирпичи, куём гвозди и сами отливаем оконные стекла"?
Сотни-тысячи человеко-часов тестирования отработанных фреймворков на помойку, будем сами ходить по свежим граблям???
Это конечно не моё дело, но гоните вы этого архитектора взашей!
Хлебнёте вы с ним горя... - ))) У меня такое же мнение. Но тут где я работаю, часто принимаются "политические" решения. Біли жаркие споры и дискуссии.. Но.. Сейчас ищу новую работу, так как понимаю, что скоро будет хаос.. Та не, он уже помаленьку начинается.. Не хочу я тут этого горя хлебать. А да, это уже невозможно, так как уже год разработки и то что этот архитектор со своей командой наделал, и главное КАК - известно только ему. )))
SQL2008Т.е. "дом строим, лепим свои кирпичи, куём гвозди и сами отливаем оконные стекла"? - не, некоторые старые окна просто снимаем и переносим в новый дом, жуткое зрелище получается. ))))

Все держится на подпорочках. ))
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Query возможно ли в одном запросе часть результатов и их общее количество?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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