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 での左結合は、2 つのエンティティ間に関連付けがある場合にのみ可能です。クエリでは、結合されたエンティティが null でないことが強制されるため、内部結合でも同じことが行われます。結合構文を使用した内部結合も、2 つのエンティティ間に関連付けがある場合にのみ可能です。ただし、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'
私は休止状態を使用しませんが、この例で判断すると:
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'