2011-04-27 60 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") 

,但我得到「無法執行查詢」

+0

我不知道Hibernate,但在SQL中,您不能使用count(v) - 使用count(*)或count(v.questionId)來代替。 – 2011-04-27 11:04:48

回答

1

如果您使用組,您需要選擇專門就像在SQL領域,所以你的查詢將看起來像:

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)。 – 2011-04-27 12:18:18