4

我创建了一个 DetachedCriteria 来检索isApprovedisPublished设置为true的庄园。它是这样定义的:

DetachedCriteria activePublishedCriteria = DetachedCriteria.forClass(Estate.class)
    .add(Restrictions.eq("isApproved", true))
    .add(Restrictions.eq("isPublished", true))
    .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);

我想在一些查询中重用这个标准。在这种情况下,我想用 DetachedCriteria 替换isApprovedisPublished限制

Criteria criteria = getSession().createCriteria(Estate.class)
       .createAlias("city", "c")
       .add(Restrictions.eq("c.id", cityID))
       // the following 2 lines should use the DetachedCriteria 
       .add(Restrictions.eq("isApproved", true))
       .add(Restrictions.eq("isPublished", true))
       .setProjection(Projections.rowCount());
  return (Integer) criteria.list().get(0);

有没有办法做到这一点 ?尝试使用

.add(Subqueries.geAll(....

但不能使其正常工作。我在 Hibernate 中找不到有关子查询的适当文档。欢迎提示。

4

1 回答 1

2

这应该有效:

.add(Subqueries.geAll(value, detachedCriteria))

于 2010-05-13T20:40:31.337 回答