Java 如何按另一个表中的票数排序?
在hibernate中,我有一个表/类问题和表/类投票。Vote.questionId是Question.id的外键 我想按票数对问题进行排序 我正在执行Java 如何按另一个表中的票数排序?,java,hibernate,Java,Hibernate,在hibernate中,我有一个表/类问题和表/类投票。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中一样专门选择字段,因此您的查询将如下所示: select
session.createQuery("from Question q, Vote v where q.id = v.questionId group by q.id order by count(v) desc")
但是我得到了“无法执行查询”如果您使用的是组,您需要像在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
干杯 我不了解Hibernate,但在SQL中,不能使用count(v)-使用count(*)或count(v.questionId)。此外,请确保在选择中使用的字段在组中定义(聚合函数除外,例如count)。