收藏标准

时间:2013-09-04 14:15:48

标签: hibernate

我正忙着处理Hibernate标准和集合。

我有以下关系:

  • A有许多B
  • 元素
  • A有一个C
  • 元素
  • C有许多D
  • 元素
  • D有一个E
  • 元素

所以基本上

电子< ---- ---- 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,否则我得到一个我必须单独初始化的集合,这会导致更多的查询。我如何建立包含这些标准的标准?

0 个答案:

没有答案