kma*_*oor 6 hibernate hql jpql
从Hibernate 3.6文档中:
您可以使用带有关键字的HQL提供额外的加入条件。
from Cat as cat
left join cat.kittens as kitten
with kitten.bodyWeight > 10.0
Run Code Online (Sandbox Code Playgroud)
该with子句允许对JOIN条件(ON子句)添加限制。JPQL中有这样的事情吗?
当我运行以下JPQL时:
select c from ContainerDef c left join fetch c.displayState ds where c.id = 1 and ds.user.id = 2
Run Code Online (Sandbox Code Playgroud)
生成以下SQL:
select
...
from
CONTAINER_DEF containerd0_
left outer join
USER_CONTAINERDEF displaysta1_
on containerd0_.CONTAINERDEF_ID=displaysta1_.CONTAINERDEF_ID
where
containerd0_.CONTAINERDEF_ID=?
and displaysta1_.AUTHUSER_ID=?
Run Code Online (Sandbox Code Playgroud)
真正应该生成的是:
select
...
from
CONTAINER_DEF containerd0_
left outer join
USER_CONTAINERDEF displaysta1_
on containerd0_.CONTAINERDEF_ID=displaysta1_.CONTAINERDEF_ID
and displaysta1_.AUTHUSER_ID=?
where
containerd0_.CONTAINERDEF_ID=?
Run Code Online (Sandbox Code Playgroud)
我确定我缺少适用于HQL的JPQL子句with。
| 归档时间: |
|
| 查看次数: |
11971 次 |
| 最近记录: |