Oracle加号符号表示hibernate加入

时间:2014-09-18 18:55:50

标签: sql oracle hibernate

我有一个where子句,其条件如下:

a.system(+) = 'Test'

我正在尝试使用join

将其转换为hibernate
left join a where a.system = 'Test' or a.system = null

然而,当a.system ='测试'时,此转换仅返回数据。或者a.system = null,它不再是外连接。

对此有正确的解决方法吗?

2 个答案:

答案 0 :(得分:0)

使用左连接你只需要加入连接条件。在下面的示例中,您将获得表a中具有表b的匹配字段的所有行,并且当b中没有匹配的行时为null。

select *
from a left join b on a.field = b.field and b.system = 'Test'

如果您发布完整的查询,将会更清楚。

答案 1 :(得分:0)

要进一步解释,您始终join two tablesresult set或“视图”就像一张桌子。你在这里'TEST'是一个常数。您在ANSI中的等效查询看起来像:

FROM table_a a  LEFT JOIN table_b b   ON a.column = b.column   AND b.system = 'TEST'