Hibernate Subquery和DetachedCriteria

我创建了一个DetachedCriteria,它正在检索将isApproved和isPublished设置为true的属性.它以这种方式定义:

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

我想在一些查询中重用此标准.在这种情况下,我想用DetachedCriteria替换isApproved和isPublished限制

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中找不到关于子查询的正确文档.欢迎提示.

最佳答案 这应该工作:

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

点赞