Как получить общее количество групп, используя Spring Boot JPA с нумерацией страниц?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как получить общее количество групп, используя Spring Boot JPA с нумерацией страниц?

Сообщение Anonymous »

В настоящее время я реализую функцию группировки.
Во внешнем интерфейсе есть сетка, в которой отображается объект «Тема». Интерфейс отправляет столбец (поле), который будет использоваться для группировки, количество необходимых строк и некоторые фильтры.
В этом случае интерфейс хочет сгруппировать по столбцу «Комната, ", которая является ссылкой на объект в "Теме".
Чтобы обеспечить правильную работу разбивки на страницы, мне нужно вернуть общее количество групп, которые существовали бы, если бы нумерация страниц не применялась. В настоящее время я добиваюсь этого с помощью двух отдельных запросов, но не думаю, что это оптимальное решение.
Вот (немного упрощенный) основной запрос. Он реализован в специальном репозитории

Код: Выделить всё

final CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder();
final CriteriaQuery mainQuery = criteriaBuilder.createQuery(Tuple.class);
final Root groupRoot = mainQuery.from(Topic.class);

var groupJoin = groupRoot.join(Topic_.room, JoinType.LEFT);

mainQuery.multiselect(groupJoin);
mainQuery.groupBy(groupJoin);

//passed in
Specification combinedSpecification = filterSpec.and(keysSpec);
Predicate mainPredicate = combinedSpecification.toPredicate(groupRoot, mainQuery, criteriaBuilder);
mainQuery.where(mainPredicate);

var startAndSize = getStartAndSize(paginationParameter);
final List mainQueryResult = em.createQuery(mainQuery)
.setFirstResult(startAndSize.getFirst()) //

Подробнее здесь: [url]https://stackoverflow.com/questions/79176565/how-to-get-the-total-count-of-groups-using-spring-boot-jpa-with-pagination[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»