2011-04-27 4 views
0

최대 절전 모드에서 테이블/클래스 질문과 테이블/클래스 투표가 있습니다. Vote.questionId는 Question.id의 외래 키입니다.다른 테이블의 투표 수순으로 정렬하는 방법은 무엇입니까?

투표 수로 질문을 정렬하고 싶습니다. 그래서 쿼리 것,

나는

session.createQuery("from Question q, Vote v where q.id = v.questionId group by q.id order by count(v) desc") 

을 실행하고 그러나 당신이 특별히 단지 SQL처럼 필드를 선택해야합니다 그룹을 사용하는 경우 나는

+0

나는 Hibernate에 대해 모른다. 그러나 SQL에서는 count (v)를 사용할 수 없다. 대신 count (*) 나 count (v.questionId)를 사용할 수있다. –

답변

1

"쿼리를 실행할 수 없습니다"얻을 모양 :

select q.id, q.title, count(v) from Question q, Vote v where q.id = v.questionId 
group by q.id, q.title 
order by count(v) desc 

건배!

+0

또한 select에서 사용중인 필드가 그룹에 정의되어 있는지 확인하십시오 (집계 함수 (count 등) 제외). –

관련 문제