J'ai créé un DetachedCriteria qui récupère biens qui ont le isApproved et IsPublished ensemble à vrai. Il est défini de la manière suivante:Mise en veille prolongée et des sous-requêtes DetachedCriteria
DetachedCriteria activePublishedCriteria = DetachedCriteria.forClass(Estate.class)
.add(Restrictions.eq("isApproved", true))
.add(Restrictions.eq("isPublished", true))
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
Je souhaite réutiliser ce critère dans certaines requêtes. Dans ce cas, je voudrais remplacer le isApproved et IsPublished restrictions à la 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);
Est-il possible de le faire? Je ai essayé d'utiliser
.add(Subqueries.geAll(....
Mais ne peut pas le faire fonctionner correctement. Je n'ai pas pu trouver la documentation appropriée sur les sous-requêtes dans Hibernate. Les pourboires sont les bienvenus.
HI, thx. J'ai vérifié ceci mais mon idée est de définir un DetachedCriteria qui serait réutilisable. Le deuxième critère devrait donc pouvoir utiliser ses propres restrictions + les restrictions définies dans les DetachedCriteria. – dawez