querydsl transformateur de groupe par le comte
Je suis coincé à essayer d'obtenir une requête (QueryDSL) pour un travail qui me donne un nombre de catégories distinctes.
Par exemple, ce que je suis en train de réaliser:
categoryA -> 10 entries
categoryB -> 20 entries
C'est ce que j'ai à ce jour:
query().from(application)
.transform(groupBy(application.category).as(list(application)));
Cependant, cela me donne, pour chaque catégorie, une liste de toutes les entrées, je veux juste obtenir un décompte de cette.
J'ai essayé de déconner avec le count()
mais pas de chance.
Ce que quelqu'un sait comment faire cela?
OriginalL'auteur Wouter Willems | 2014-11-03
Vous devez vous connecter pour publier un commentaire.
transformer combiné groupBy est destiné à construire les structures en arbre de plat jeux de résultats. Ce dont vous avez besoin peut être plus facile exprimé en
OriginalL'auteur Timo Westkämper
Noter que Querydsl 4.x, de la accepté de répondre par Timo Westkämper n'est plus valide. Dernières modifications de Querydsl 4.0 ont retiré la requête.liste() la méthode.
Une solution de travail avec Querydsl 4.0+ serait maintenant:
OriginalL'auteur SputNick
Si vous utilisez 4.1.4, vous pouvez avoir besoin d'utiliser un JPAQueryFactory au lieu de JPAQuery
Si vous utilisez JPAQuery, il n'y a pas de select() ou fetch() sur le retour d'groupBy.
OriginalL'auteur nclord