2011-11-19 16 views
7

Mam relację @ManyToMany między jednostką Pytanie a jednostką kategorii. Chcę policzyć liczbę pytań w każdej kategorii. Jak to zrobić?Korzystanie z GROUP BY w języku JPA

+0

Szczerze mówiąc nie mam pojęcia, od czego zacząć. Zacząłem od tego: @NamedQuery (name = "Cateogory.questionDistribution", query = "SELECT c.description, COUNT (c) Z kategorii c GROUP BY (... – LuckyLuke

+0

Wygląda na to, że byłeś blisko, ale reszta kwerendy pomógłby określić więcej. –

+0

Jak jest typ pobierania dla pytania zdefiniowane w encji kategorii? – Perception

Odpowiedz

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

Czy mogę zapytać jeszcze coś, co zwraca to zapytanie? A hashmap? A jeśli tak, to jakie klucze mam dostęp wartości z? Nigdy nie wybrałem tylko niektórych atrybutów wcześniej: – LuckyLuke

+3

Zwraca listę . Każdy obiekt [] ma dwa elementy: liczbę (jako długą) i opis (jako ciąg). Patrz http: // docs .jboss.org/hibernate/core/3.6/reference/en-US/html_single/# queryhql-select –

+1

Awesome, thank you! Nauczyłem się dwóch nowych rzeczy teraz :) – LuckyLuke