2011-11-19 197 views
7

我在一个Question实体和一个Category实体之间有@ManyToMany关系。我想要统计每个类别中的问题数量。我会怎么做?在JPA中使用GROUP BY

+0

说实话我不知道从哪里开始。我已经开始:@NamedQuery(name =“Cateogory.questionDistribution”,query =“SELECT c.description,COUNT(c)FROM Category c GROUP BY(... – LuckyLuke

+0

看起来你很接近,但其余的的查询将有助于确定更多 –

+0

如何在您的类别实体上定义问题的提取类型 – Perception

回答

9
select count(question.id), category.description 
from Category category 
left join category.questions question 
group by category.description 
+1

我可以再问一个问题,这个查询返回什么?一个散列表?如果有的话,我访问的密钥是什么这个值有?I从未选择过某些属性 – LuckyLuke

+3

它返回一个List 。每个Object []有两个元素:count(作为Long)和描述(作为String)。请参阅http:// docs .jboss.org/hibernate/core/3.6/reference/en-US/html_single /#queryhql-select –

+1

真棒,谢谢!我现在学到了两件新东西:) – LuckyLuke