/** * @see org.openmrs.api.db.LocationDAO#getLocationsHavingAllTags(java.util.List) */ @Override public List<Location> getLocationsHavingAllTags(List<LocationTag> tags) { tags.removeAll(Collections.singleton(null)); DetachedCriteria numberOfMatchingTags = DetachedCriteria.forClass(Location.class, "alias").createAlias("alias.tags", "locationTag").add(Restrictions.in("locationTag.locationTagId", getLocationTagIds(tags))).setProjection( Projections.rowCount()).add(Restrictions.eqProperty("alias.locationId", "outer.locationId")); return sessionFactory.getCurrentSession().createCriteria(Location.class, "outer").add( Restrictions.eq("retired", false)).add(Subqueries.eq(Long.valueOf(tags.size()), numberOfMatchingTags)).list(); }
.setProjection( Property.forName("name") ); enrolment = ( Enrolment ) s.createCriteria(Enrolment.class, "e") .add( Subqueries.eq("Gavin King", dc2) ) .setReadOnly( true ) .uniqueResult(); .setProjection( Property.forName("st.name") ); enrolment = ( Enrolment ) s.createCriteria(Enrolment.class, "e") .add( Subqueries.eq("Gavin King", dc3) ) .setReadOnly( true ) .uniqueResult();
add(Property.forName("ff.form.formId").eqProperty("f.formId")). add(Restrictions.in("ff.formFieldId", allFormFieldIds)); crit.add(Subqueries.eq((long) containingAllFormFields.size(), subquery));