Как использовать группировку и упорядочивание с помощью конструктора критериевJAVA

Программисты JAVA общаются здесь
Anonymous
Как использовать группировку и упорядочивание с помощью конструктора критериев

Сообщение Anonymous »

У меня есть приложение для обслуживания поездов
У меня есть класс под названием Booking, в нем также есть список Product.
В Product есть TrainBooking, а в TrainBooking есть список TrainJourney. >
Я использую конструктор критериев для получения бронирований.

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

    CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery query = cb.createQuery(Object[].class);
Root bookingRoot = query.from(Booking.class);

initializeJoins(bookingRoot);

Order orderParam = getOrderParam(request, cb, bookingRoot);

Fetch productFetch = bookingRoot.fetch("products", JoinType.LEFT);
Fetch
 trainBookingFetch = productFetch.fetch("trainBooking", JoinType.LEFT);
productFetch.fetch("provider", JoinType.LEFT);
Fetch trainJourneyFetch = trainBookingFetch.fetch("trainJourneys", JoinType.LEFT);
trainJourneyFetch.fetch("journey", JoinType.LEFT);

query.multiselect(bookingRoot, journeyJoin.get(DEP_DATE_STR))
.orderBy(orderParam)
.distinct(true)
.where(createPredicates(request, otaUser, cb, bookingRoot));
Я использую здесь отдельное ключевое слово, но оно возвращает несколько повторяющихся бронирований. Я хочу использовать groupBy по идентификатору бронирования и заказать по дате отъезда. Я не смог найти способа использовать как порядок, так и группировку в построителе критериев для моего случая. Знаешь, как я с этим справлюсь?


Подробнее здесь: https://stackoverflow.com/questions/788 ... ia-builder

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