2011-11-19 94 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