我有三个班级说,A
如下所示:B
C
类A
与 有OneToOne
关系B
:
Class A {
@OneToOne
B b;
}
并与B
有着热切的关系C
。
Class B {
@ManyToOne(fetch=fetchType.EAGER)
C c;
}
我想有一个标准(on A
)并将其加入B
以从这两个表中检索一些数据。但是当我使用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
,我不希望它加入。如何手动防止此类操作?