小编典典

在HQL上进行内部选择

hibernate

我想用HQL做这样的事情:

SELECT *
FROM tableA a
INNER JOIN (select fieldA, sum(fieldB) as sum from tableB) b
ON a.fieldA = b.fieldA and a.fieldC = b.sum;

但这给出了一个错误:

org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: (...

有什么办法可以使用HQL和Hibernate做到这一点?


阅读 218

收藏
2020-06-20

共1个答案

小编典典

尝试使用 本机SQL 解决方案方法:

需要首先导入以下内容:

import org.hibernate.SQLQuery;

然后在代码中的某处:

SQLQuery query = session.createSQLQuery(
    "SELECT * FROM tableA a
    INNER JOIN 
    (SELECT fieldA, sum(fieldB) as sum from tableB) b
    ON a.fieldA = b.fieldA and a.fieldC = b.sum"
);

有关此链接的更多信息,请点击
此处(加入Hibernate查询语言)

2020-06-20