Ich versuche, eine JPA-Kriterienabfrage mit einer groupBy-Klausel zu erstellen. In meinem Fall meine groupBy Klausel ist dynamisch, so versuche ich, diese zu nutzen:So erstellen Sie eine Ausdrucksliste für die JPA-Kriteriengruppe By-Klausel?
CriteriaQuery<T> groupBy(List<Expression<?>> grouping);
statt der üblichen:
CriteriaQuery<T> groupBy(Expression<?>... grouping);
Das Problem ist, dass ich bin zu kämpfen, dies zu schaffen Ausdrucksliste Dies ist mein Code für den Moment:
CriteriaQuery<Tuple> criteria = cb.createTupleQuery();
Root<Foo> foo = criteria.from(Foo.class);
Expression<String> barExp = foo.get("bar");
Expression<String> bazExp = foo.get("baz");
// I'd like to use a Expression List to build a dynamic group by clause with this. But something looks wrong and I don't know where...
List<Expression<String>> groupBy = Arrays.asList(barExp, bazExp);
// Consulta
criteria.multiselect(barExp, bazExp);
criteria.where(where);
// this works:
criteria.groupBy(barExp, bazExp);
// but I'd like to use this, but compiler give me a type error
//criteria.groupBy(groupBy);
TypedQuery<Tuple> query = em.createQuery(criteria);
List<Tuple> result = query.getResultList();
Das ist es also. Wie erstelle ich dynamisch eine JPA 2-Kriterienausdruckliste für eine groupBy?
Vielen Dank im Voraus!