Я создал DetachedCriteria, что с извлечением поместий, которые isApproved и isPublished набор для истинного. Это определяется следующим образом:Hibernate подзапросов и DetachedCriteria
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(....
Но не может заставить его работать должным образом. Я не мог найти правильную документацию по подзапросам в спящем режиме. Подсказки приветствуются.
HI, ТНХ. Я проверил это, но моя идея состоит в том, чтобы определить DetachedCriteria, которая была бы повторно использована. Таким образом, 2-й критерий должен иметь возможность использовать свои собственные ограничения + ограничения, определенные в DetachedCriteria. – dawez