以下のようA
に、3つのクラスがB
あります。C
クラスA
は とOneToOne
関係がありB
ます:
Class A {
@OneToOne
B b;
}
とB
熱心な関係を築いてC
いる。
Class B {
@ManyToOne(fetch=fetchType.EAGER)
C c;
}
A
条件 ( on ) を持ち、それを結合してB
、これら 2 つのテーブルからデータを取得したいと考えています。しかし、私がcreateAlias
(または他の特定の結合を)使用すると、テーブルC
も結合されます。(どうやら と の間の積極的な関係のためB
) C
。このようなもの:
Criteria aCrit = session.createCriteria(A.class, "a");
aCrit.createAlias("a.b", "b");
aCrit.setProjection(Projections.property("b.name");
aCrit.list();
問題は、必要がないので、C
結合したくないということです。このようなアクションを手動で防止するにはどうすればよいですか?