Refine search
protected Criteria getCriteria(Session s) { // should use RootEntityTransformer by default return s.createCriteria( Student.class, "s" ) .createAlias( "s.addresses", "a", Criteria.LEFT_JOIN ) .addOrder( Order.asc( "s.studentNumber") ); } };
@Override public LogSchema findLatestLogSchemaByAppId(String applicationId) { LOG.debug("Searching latest log schema by application id [{}]", applicationId); LogSchema logSchema = null; if (isNotBlank(applicationId)) { Criteria criteria = getCriteria(); criteria.createAlias(APPLICATION_PROPERTY, APPLICATION_ALIAS); Criterion criterion = Restrictions.eq(APPLICATION_REFERENCE, Long.valueOf(applicationId)); logSchema = (LogSchema) criteria.add(criterion).addOrder(Order.desc(VERSION_PROPERTY)) .setMaxResults(FIRST).uniqueResult(); } if (LOG.isTraceEnabled()) { LOG.trace("[{}] Search result: {}.", applicationId, logSchema); } else { LOG.debug("[{}] Search result: {}.", applicationId, logSchema != null); } return logSchema; }
@Override public String toString() { return order.toString(); } }
/** * @see org.openmrs.api.FormService#getFieldsByConcept(org.openmrs.Concept) */ @SuppressWarnings("unchecked") public List<Field> getFieldsByConcept(Concept concept) throws DAOException { Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Field.class); criteria.add(Restrictions.eq("concept", concept)); criteria.addOrder(Order.asc("name")); return criteria.list(); }
Transaction txn = s.beginTransaction(); Foo f = new Foo(); s.save( f ); s.flush(); List list = s.createCriteria(Foo.class) .add( Restrictions.eq( "integer", f.getInteger() ) ) .add( Restrictions.eqProperty("integer", "integer") ) .add( Restrictions.like( "string", f.getString().toUpperCase(Locale.ROOT) ).ignoreCase() ) .add( Restrictions.in( "boolean", f.getBoolean(), f.getBoolean() ) ) .setFetchMode("foo", FetchMode.JOIN) list = s.createCriteria(Foo.class) .setMaxResults(5) .addOrder( Order.asc("date") ) .list(); assertTrue( list.size()==1 && list.get(0)==f ); list = s.createCriteria(Foo.class) .setFirstResult(1) .addOrder( Order.asc("date") ) .addOrder( Order.desc("string") ) .list(); assertTrue( list.size() == 0 );
/** * @see org.openmrs.api.db.EncounterDAO#findEncounterTypes(java.lang.String) */ @Override @SuppressWarnings("unchecked") public List<EncounterType> findEncounterTypes(String name) throws DAOException { return sessionFactory.getCurrentSession().createCriteria(EncounterType.class) // 'ilike' case insensitive search .add(Restrictions.ilike("name", name, MatchMode.START)).addOrder(Order.asc("name")).addOrder( Order.asc("retired")).list(); }
@Override @Transactional @SuppressWarnings("unchecked") public List<User> getAllUsers() { return getSession().createCriteria(User.class) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY) .addOrder(Order.asc("loginName").ignoreCase()) .list(); } }
/** * @see org.openmrs.api.db.FormDAO#getFields(java.lang.String) */ @Override @SuppressWarnings("unchecked") public List<Field> getFields(String search) throws DAOException { Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Field.class); criteria.add(Restrictions.like("name", search, MatchMode.ANYWHERE)); criteria.addOrder(Order.asc("name")); return criteria.list(); }
@Test public void testSubselectFetchCriteria() { Session s = openSession(); Transaction t = s.beginTransaction(); Parent p = new Parent("foo"); p.getChildren().add( new Child("foo1") ); q.getChildren().add( new Child("bar2") ); q.getMoreChildren().addAll( p.getChildren() ); s.persist(p); s.persist(q); t.commit(); s.close(); List parents = s.createCriteria(Parent.class) .add( Property.forName("name").between("bar", "foo") ) .addOrder( Order.desc("name") ) .list(); p = (Parent) parents.get(0); q = (Parent) parents.get(1);
@Test public void testManyToManyCriteriaJoin() { Session s = openSession(); Transaction t = s.beginTransaction(); Parent p = new Parent("foo"); p.getChildren().add( new Child("foo1") ); q.getChildren().add( new Child("bar2") ); q.getMoreChildren().addAll( p.getChildren() ); s.persist(p); s.persist(q); t.commit(); s.close(); List parents = s.createCriteria(Parent.class) .createCriteria("moreChildren") .createCriteria("friends") .addOrder( Order.desc("name") ) .list(); .setFetchMode("moreChildren", FetchMode.JOIN) .setFetchMode("moreChildren.friends", FetchMode.JOIN) .addOrder( Order.desc("name") ) .list();
@Override public List<AssignedProductOptionDTO> findAssignedProductOptionsByProductId(Long productId) { Session session = em.unwrap(Session.class); Criteria criteria = session.createCriteria(SkuProductOptionValueXrefImpl.class); List dtoList = criteria .createAlias("sku", "sku") .createAlias("sku.product", "product") .createAlias("productOptionValue", "productOptionValue") .createAlias("productOptionValue.productOption", "productOption") .setProjection(Projections.distinct( Projections.projectionList() .add(Projections.property("product.id"), "productId") .add(Projections.property("productOption.attributeName"), "productOptionAttrName") .add(Projections.property("productOptionValue"), "productOptionValue") .add(Projections.property("sku"), "sku") ) ).setResultTransformer(Transformers.aliasToBean(AssignedProductOptionDTO.class)) .add(Restrictions.eq("product.id", productId)) .addOrder(Order.asc("productOption.attributeName")).list(); List<AssignedProductOptionDTO> results = new ArrayList<>(); for (Object o : dtoList) { AssignedProductOptionDTO dto = (AssignedProductOptionDTO) o; if (dto.getSku().isActive()) { results.add(dto); } } return results; }
log.debug("Getting alerts for user " + user + " read? " + includeRead + " expired? " + includeExpired); Criteria crit = sessionFactory.getCurrentSession().createCriteria(Alert.class, "alert"); crit.createCriteria("recipients", "recipient"); crit.add(Restrictions.eq("recipient.recipient", user)); } else { crit.add(Restrictions.or(Restrictions.isNull("dateToExpire"), Restrictions.gt("dateToExpire", new Date()))); crit.addOrder(Order.desc("dateChanged")); return crit.list();
@SuppressWarnings("unchecked") @Override public List<Encounter> getEncountersNotAssignedToAnyVisit(Patient patient) throws DAOException { return sessionFactory.getCurrentSession().createCriteria(Encounter.class).add(Restrictions.eq("patient", patient)) .add(Restrictions.isNull("visit")).add(Restrictions.eq("voided", false)).addOrder( Order.desc("encounterDatetime")).setMaxResults(100).list(); }
public EnvironmentVariables load(final Long entityId, final EnvironmentVariableType type) { List<EnvironmentVariable> result = (List<EnvironmentVariable>) transactionTemplate.execute((TransactionCallback) transactionStatus -> { Criteria criteria = sessionFactory.getCurrentSession().createCriteria(EnvironmentVariable.class).add(Restrictions.eq("entityId", entityId)).add( Restrictions.eq("entityType", type.toString())).addOrder(Order.asc("id")); criteria.setCacheable(true); return criteria.list(); }); return new EnvironmentVariables(result); }
/** * @see org.openmrs.api.db.ConceptDAO#getNextConcept(org.openmrs.Concept) */ @Override @SuppressWarnings("unchecked") public Concept getNextConcept(Concept c) { Integer i = c.getConceptId(); List<Concept> concepts = sessionFactory.getCurrentSession().createCriteria(Concept.class).add( Restrictions.gt("conceptId", i)).addOrder(Order.asc("conceptId")).setMaxResults(1).list(); if (concepts.isEmpty()) { return null; } return concepts.get(0); }
/** * @see org.openmrs.api.UserService#getUsersByRole(org.openmrs.Role) */ @SuppressWarnings("unchecked") public List<User> getUsersByRole(Role role) throws DAOException { return (List<User>) sessionFactory.getCurrentSession().createCriteria(User.class, "u").createCriteria("roles", "r") .add(Restrictions.like("r.role", role.getRole())).add(Restrictions.ne("u.uuid", Daemon.getDaemonUserUuid())).addOrder(Order.asc("u.username")).list(); }
/** * @see org.openmrs.api.db.ConceptDAO#getPrevConcept(org.openmrs.Concept) */ @Override @SuppressWarnings("unchecked") public Concept getPrevConcept(Concept c) { Integer i = c.getConceptId(); List<Concept> concepts = sessionFactory.getCurrentSession().createCriteria(Concept.class).add( Restrictions.lt("conceptId", i)).addOrder(Order.desc("conceptId")).setFetchSize(1).list(); if (concepts.isEmpty()) { return null; } return concepts.get(0); }
/** * Create the criteria for fetching all encounters based on cohort * * @param patients * @return a map of patient with their encounters */ private Criteria createEncounterCriteria(Cohort patients) { Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Encounter.class); criteria.setCacheMode(org.hibernate.CacheMode.IGNORE); // only include this where clause if patients were passed in if (patients != null) { ArrayList<Integer> patientIds = new ArrayList<>(); patients.getMemberships().forEach(m -> patientIds.add(m.getPatientId())); criteria.add(Restrictions.in("patient.personId", patientIds)); } criteria.add(Restrictions.eq("voided", false)); criteria.addOrder(Order.desc("patient.personId")); criteria.addOrder(Order.desc("encounterDatetime")); return criteria; }
@Override public List<InternalGrantedPermission> findAllPermissionsForGroup(String groupName, long directoryId) { Criteria criteria = session().createCriteria(InternalGrantedPermission.class) .createAlias("directoryMapping", "dm") .addOrder(Order.asc("groupName").ignoreCase()) .add(Restrictions.eq("groupName", groupName)) .add(Restrictions.eq("dm.directory.id", directoryId)); return criteria.list(); }
public ServerBackup lastBackup() { List results = (List) getHibernateTemplate().execute((HibernateCallback) session -> { Criteria criteria = session.createCriteria(ServerBackup.class); criteria.setMaxResults(1); criteria.addOrder(Order.desc("id")); return criteria.list(); }); return results.isEmpty() ? null : (ServerBackup) results.get(0); }