Я борюсь за правильное использование агрегатных операторов, таких как countDistinct
. Я нашел несколько примеров для агрегированных запросов, но ни один из них не запускается от начала до конца с использованием countDistinct
.Правильное использование агрегированных операторов в JPA Критерии API
Я попытался это:
final CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder();
final CriteriaQuery<MyClass> query = criteriaBuilder.createQuery(MyClass.class);
final Root<MyClass> root = query.from(MyClass.class);
final Predicate yearPredicate = criteriaBuilder.equal(root.get("year"), currentYear);
query.select(root);
query.where(yearPredicate);
final Expression<Long> count = criteriaBuilder.countDistinct(root);
Вот где я застрял. Правильно ли запустить countDistinct
в корне? Как получить результат? query.select(count);
и criteriaBuilder.countDistinct(query)
являются незаконными. Было бы здорово, если бы кто-то мог указать мне в правильном направлении.
Спасибо
Ааа, имеет смысл сейчас :) Спасибо, Stemm – kostja