Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何按另一个表中的票数排序?_Java_Hibernate - Fatal编程技术网

Java 如何按另一个表中的票数排序?

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

在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 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)。