0

私は3つのエンティティを持っています:

class A {
   @ManyToOne
   B b1;

   @ManyToOne
   B b2;
   ...
}

class B {
...
}

class C {
   @ManyToOne
   B b;
}

HQL の「A」クラス「b2」フィールドと「C」クラス「b」フィールドを左結合したいと考えています。だから私が好きなhql:

SELECT a FROM A as a INNER JOIN a.b1 LEFT JOIN C as c on a.b2=c.b

ただし、この場合、クラス A とクラス C が接続されていないため、左結合を使用できません。

誰でも私を助けることができますか?ありがとう

4

1 に答える 1

1

Afaik、エンティティに関係がない場合、HQL で外部結合を実行する方法はありません。(私の知る限り、Hibernate 3.x. :P まで)

そのような場合はSQLを書くことを検討してください

于 2012-07-29T13:12:19.530 に答える