我想用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做到这一点?
尝试使用 本机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查询语言)