È possibile ottenere il conteggio dei risultati di aggregazione quando si utilizza l'elaborazione groupby in QueryDSL? Ho la seguente domanda:Contare nel trasformatore di raggruppamento QueryDSL
query.from(catalog)
.innerJoin(qe).on(catalog.id.eq(qe.itemId))
.innerJoin(enterprise).on(enterprise.id.eq(qe.enterpriseId))
.leftJoin(catalogPerson).on(catalogPerson.catalogId.eq(catalog.id))
.where(catalog.deletionDate.isNull(), qe.enterpriseId.eq(org))
.orderBy(catalog.creationDate.desc())
.limit(limit)
.offset(offset)
.transform(groupBy(catalog.id).as(Projections.constructor(Catalog.class,
catalog.id,
catalog.name,
catalog.code,
// //GET THE NUMBER OF CATALOG PERSONS'
)));
e voglio ottenere il conteggio delle persone appartenenti al catalogo specifico.
Grazie
Grazie Timo. Solo un piccolo suggerimento. Sarebbe bello se qualcuno potesse elaborare "ricette QueryDSL" per alcuni esempi di vita reale, che non sono menzionati nella documentazione, come questa. – Nedo
Buona idea. Quale titolo suggeriresti per questo esempio? Projections.constructor e count() lo rendono un po 'speciale, il resto è abbastanza comune nell'utilizzo SQL di Querydsl. –
Qualcosa come "Aggregare i conteggi dei bambini nell'entità padre" o "Conteggi aggregati nell'entità radice" ... =) Proverò a ricopilare alcune costruzioni QueryDSL non comuni da qui su StackOverflow. – Nedo