我创建了一个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);我想在一些查询中重用这个标准。在这种情况下,我想将isApproved和isPublished限制替换为DetachedCriteria
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中Subqueries的适当文档。小费是欢迎的。
发布于 2010-05-13 20:40:31
这应该是可行的:
.add(Subqueries.geAll(value, detachedCriteria))
https://stackoverflow.com/questions/2787371
复制相似问题