我对hibernate相对较新,并且想知道是否有人可以帮助我。 虽然使用
@JoinColumns标记在hibernate中实现多列上的普通连接没有问题,但在尝试在注释中实现以下查询时我感到困惑:
SELECT A.* FROM TABLEA A LEFT OUTER JOIN TABLEB B ON A.UID = B.ID AND B.NAME = 'JAY'
正如您所看到的,连接也基于一个不是列的值('JAY')。我不知道如何在注释中继续这样的映射。
有人可以帮忙吗?
谢谢, 杰
答案 0 :(得分:0)
您不需要将b.name指定为连接条件。而只是将其指定为where子句的一部分。
SELECT A.*
FROM TABLEA A
LEFT OUTER
JOIN TABLEB B ON A.UID = B.ID
WHERE B.NAME is null or B.NAME = 'JAY'
答案 1 :(得分:0)
从您的问题中不清楚您是否尝试将其映射为HQL查询或关联。
我假设您正在讨论查询,TABLEA
和TABLEB
之间的关联已经通过A.UID
和B.ID
列进行了映射。在这种情况下,您可以使用with
keyword编写查询:
select a.*
from TableA a
left join a.tableB b
with b.name = 'JAY'
如果那不是您要找的,请澄清您的问题。