HQL With语句会产生奇怪的行为。我期待以下查询:
select
s.id, s.nom,s.dateDebutPublication,s.dateFinPublication,r.codeUtilisateur
from
Sondage s left outer join
s.repondant r with r.codeUtilisateur=:utilisateur
生成这个sql请求:
select ...
from
SON_SONDG sondage0_
left outer join
SON_REPND repondant1_
on sondage0_.SEQ_SONDG=repondant1_.SEQ_SONDG
and (
repondant1_.CODE_UTILS=?
)
相反,它会创建一个额外的连接,返回更多行
left outer join
SON_REPND repondant1_
on sondage0_.SEQ_SONDG=repondant1_.SEQ_SONDG
left outer join
SON_REPND repondant2_
on repondant1_.SEQ_REPND=repondant2_.SEQ_REPND
and (
repondant2_.CODE_UTILS=?
)
编写de HQL查询的正确方法是什么,以便返回我预期的sql查询?