HQL中可用的Oracle left-outer-join语法简写符号(+)?

时间:2014-11-24 13:32:06

标签: sql oracle hql

在Oracle中,有一个运算符(+),用于在where结构中进行外连接,例如SELECT * FROM table t, other_table ot WHERE t.id = ot.tale_id(+),有没有类似的舒适方式,在HQL中做到这一点?

补充:或者还有其他方法可以将where条件设为外连接吗?

1 个答案:

答案 0 :(得分:5)

有没有办法在HQL中指定left outer join

是的,HQL通过显式连接语法支持左外连接,并且语法与SQL相同(隐含的导航属性作为连接键):

from Cat as cat
    left join cat.kittens as kitten

outer是可选的,即left [outer] join

Source: HQL Query Reference

是否有left outer join的缩写缩写,如Oracle' s(+)

不,AFAIK HQL文档没有引用简写left outer join表示法,如果HQL遵循RDBMS中的趋势来删除专有连接语法,则根据@ a_horse_with_no_name的评论,{{3使用专有(+)语法,类似Oracle recommends against已被弃用。