【发布时间】:2010-05-07 09:04:25
【问题描述】:
我创建了一个 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 中找不到有关子查询的适当文档。欢迎提示。
【问题讨论】:
标签: hibernate detachedcriteria subquery