5

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 はオペレーターでは気に入らないようです。

4

2 に答える 2

4

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'
于 2012-07-31T14:22:31.850 に答える
0

私は休止状態を使用しませんが、この例で判断すると:

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'
于 2012-07-31T13:43:44.617 に答える