java querydsl转换器按计数分组
我一直在努力让一个查询(QueryDSL)工作,它会给我一个不同类别的计数。 例如,我正在努力实现的目标:
categoryA -> 10 entries
categoryB -> 20 entries
这就是我目前的情况:
query().from(application)
.transform(groupBy(application.category).as(list(application)));
然而,这给了我每个类别一个完整条目的列表,我只想计算一下
我试着和count()
混日子,但运气不好
有人知道怎么做吗
# 1 楼答案
transform combined groupBy旨在从平面结果集构造树结构。你所需要的可以简单地表达为
# 2 楼答案
如果使用4.1.4,您可能需要使用JPAQueryFactory而不是JPAQuery
如果使用JPAQuery,则groupBy返回的结果中没有select()或fetch()
# 3 楼答案
请注意,从Querydsl 4开始。x,蒂莫·韦斯特坎普(Timo Westkämper)接受的答案不再有效Breaking changes in Querydsl 4.0 have removed the query.list() method
使用Querydsl 4.0+的解决方案现在是: