我想用 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 来实现这一点吗?
try the 原生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 查询语言)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)