我正在尝试按School
s的数量对Student
进行排序。他们之间存在ManyToOne
/ OneToMany
关系。
这不起作用,但这是我到目前为止所做的
from School s order by count(s.students)
我不想使用Criteria,因为我必须重构很多代码。有没有办法用HQL
来实现这个目标?
答案 0 :(得分:1)
好的我明白了。这工作
from School s order by size(s.students)
根据Hibernate文档
您可以使用特殊属性大小或特殊大小()函数测试集合的大小。
答案 1 :(得分:0)
这应该有效(期待school
与student
之间存在关联,例如 student.School
):
//from School s order by count(s.students)
FROM School s
ORDER BY (
SELECT count(st) FROM Student st WHERE s.ID = st.School.ID
)