我正忙着处理Hibernate标准和集合。
我有以下关系:
所以基本上
电子< ---- ---- 1的 d < ---- ---- C < ---- ---- 1的 A ----- ---->的乙
我正在尝试获取A的所有元素,其C元素验证C的属性上的某些条件,并且至少有一个元素D与特定的E相关。
到目前为止,这是我的标准:
session.createCriteria(A.class)
.createCriteria("Cs")
.add(Restrictions.or(Restrictions.eq("attributeA", 1), Restrictions.eq("attributeB", 2)))
.createCriteria("Ds")
.createCriteria("E")
.add(Restrictions.eq("id", 123);
这没关系,但是我从Hibernate得到的sql做了一个具有C,D和E的所有属性的select,我不需要它(只需要按它们过滤)。如何限制这些并仅使用这些关系进行过滤?
另外,我确实想要获取元素B,否则我得到一个我必须单独初始化的集合,这会导致更多的查询。我如何建立包含这些标准的标准?