0

我指的是使用关键字 [LEFT [OUTER] | 的连接。INNER] 仅加入。不去 theta 加入。由于 JPQL 中没有 ON 关键字,因此假设始终隐含并使用相等比较是否安全?

4

1 回答 1

1

在 JPQL 中,连接基于使用 @ManyToOne、@OneToMany、@OneToOne 注释映射的关联。
发出 JPQL 查询时,连接将转换为 SQL ON 关键字,例如:

JPQL

from Cat as cat
    inner join cat.owner as owner
    left outer join cat.kittens as kitten

被转换为

select c.* 
from Cat c
inner join Owner owner ON owner.id = cat.owner_id  
left outer join Cat kitten ON kitten.mother_id = c.id 

所以,是的,对于 JPQL 连接,可以安全地假设始终隐含相等比较。

于 2013-09-07T23:03:43.383 回答