[英]HQL : inner join
我想在我的hql查询中进行内部联接,但是出现了以下错误:
造成原因:org.hibernate.hql.internal.ast.QuerySyntaxException:意外令牌:(...
SELECT new myDto(
col1, col2
FROM table1,table2
INNER JOIN (
SELECT foo, bar, ... max(nb) as numberBar
FROM table1
GROUP BY foo, bar ...
) myAlias
ON table1.foo = myAlias.foo
AND table1.bar = myAlias.bar
...
该查询在sqldeveloper中有效
只是检查您已发布的查询,我认为您必须在col2
之后关闭new myDto
的括号,因为在您发布的该查询中未关闭:
SELECT new myDto(
col1, col2)
FROM table1,table2
INNER JOIN (
SELECT foo, bar, ... max(nb) as numberBar
FROM table1
GROUP BY foo, bar ...
) myAlias
ON table1.foo = myAlias.foo
AND table1.bar = myAlias.bar
...
休眠似乎并不支持inner join
与随后select
内与选择的HQL加盟我管理,使其工作:
SELECT new myDto(
//usual colums selection here
from table1, table2
where ...
AND ....
// solution here without inner join
AND ( table1.foo, table1.bar, nb)
IN (select foo, bar, max(nb) as number
from table1
group by foo, bar)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.