[英]HQL, left join on the same table
我搜索一种方法与hql使用相同的表进行左连接。
这是我的疑问
FROM Tvshow e
LEFT JOIN Tvshow e1 ON e1.num = e.num
WHERE e1.code = '024'
AND e.code is not null
AND e.code != '024'
Hibernate似乎不喜欢运营商。
只有在两个实体之间存在关联时,才能在HQL中进行左连接。 由于您的查询将联接实体强制为非null,因此内部联接将执行相同的操作。 只有在两个实体之间存在关联时,才可以使用连接语法进行内连接。 但是你可以通过在where子句中添加相等性测试来实现:
select e from Tvshow e, Tvshow e1
where e.num = e1.num
and e1.code = '024'
and e.code is not null
and e.code != '024'
我不使用hibernate但是,通过这个例子来判断:
from Cat as cat
inner join cat.mate as mate
left outer join cat.kittens as kitten
从这个页面: http : //docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html#queryhql-joins-forms
看起来你只是不做ON? 让我知道如果我弄错了,我会把它拿下来。
FROM Tvshow e
LEFT JOIN Tvshow e1
WHERE e1.code = '024'
AND e.code is not null
AND e.code != '024'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.