我如何将SQL查询转换为休眠

时间:2013-03-14 15:08:24

标签: java mysql sql hibernate

当我尝试运行时,我得到"无法在类#34;上找到合适的构造函数。

SQL:

select c.*, count(s.student_id)
from class_tbl c    
left join students_tbl s on c.class_id = s.student_id
group by c.class_id 

这是我尝试但似乎不起作用 - HQL:

select new Class(class, count(students.studentId))
from Class as class    
left join class.students as students
group by class.classId  

我在我的对象Class上有一个构造函数,如:

public Class(Class class, long studentCount){
    // [...]
}

1 个答案:

答案 0 :(得分:0)

首先,不要使用Class作为类名,它是一个保留字。

我认为您的HQL应该如下所示:

"select new map(class, count(students.studentId) as studentCount) from Class class left 
join fetch class.students students group by class.classId");