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

use*_*000 10 java sql hibernate hql subquery

我有三个表:class,student,和teacher

table class
{
    class_id(PK)
}

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

table teacher
{
    teacher_id(PK)
    class_id(PK+FK)
}
Run Code Online (Sandbox Code Playgroud)

我在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
Run Code Online (Sandbox Code Playgroud)

该查询包含from子句union操作中的子查询.我无法将其转换为HQL.

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

Ant*_*oly 8

不幸的是,HQL不支持UNION查询.解决问题的两种替代策略是:


Rom*_*n C 7

您不能from在HQL 中的子句中放置子查询.只有selectwhere条款.