提问者:小点点

Oracle加符号表示法到Hibernate连接


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

a.system(+) = 'Test'

我正在尝试使用join将其转换为Hibernate

left join a where a.system = 'Test' or a.system = null

但是,此转换仅在a. system='Test'或a.system=null不再是外连接时返回数据。

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


共2个答案

匿名用户

使用左连接,您只需放置连接条件。在下面的示例中,您将从表a中获取具有表b匹配字段的所有行,当b中没有匹配行时为null。

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

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

匿名用户

为了进一步解释,您总是连接两个表结果集或充当表的“视图”。您在此处将“TEST”作为常量。ANSI中的等效查询如下所示:

从table_aaLEFT JOINtable_bbON a.列=b.列AND b. system='TEST'