如何在hibernate中使用子查询到“from”子句?

时间:2013-01-03 13:39:45

标签: java sql hibernate subquery hql

我有三个表:classstudentteacher

table class
{
    class_id(PK)
}

table student
{
    student_id(PK)
    class_id(PK+FK)
}

table teacher
{
    teacher_id(PK)
    class_id(PK+FK)
}

我在SQL中有一个查询,工作正常。

SELECT data.class_id, count(data.class_id) AS count
FROM ((SELECT class_id FROM student)
        union all
        (SELECT class_id FROM teacher)) AS data
GROUP BY data.user_id
ORDER BY count desc

查询包含 from子句 union operation 中的子查询。 我无法将其转换为HQL。

请从上面的SQL查询中给我高效的HQL查询。

2 个答案:

答案 0 :(得分:8)

不幸的是HQL does not support UNION queries。解决问题的两种替代策略是:

答案 1 :(得分:7)

您不能在HQL中的from子句中放置子查询。仅限selectwhere条款。