List of usage examples for org.hibernate.criterion Restrictions disjunction
public static Disjunction disjunction()
From source file:org.linagora.linshare.core.repository.hibernate.MailContentLangRepositoryImpl.java
License:Open Source License
@Override public MailContent findMailContent(MailConfig cfg, Language lang, MailContentType type) { Disjunction and = Restrictions.disjunction(); and.add(Restrictions.eq("mailConfig", cfg)); and.add(Restrictions.eq("mailContentType", type)); and.add(Restrictions.eq("language", lang)); return DataAccessUtils.singleResult(findByCriteria(and)).getMailContent(); }
From source file:org.linagora.linshare.core.repository.hibernate.ThreadRepositoryImpl.java
License:Open Source License
@Override public List<Thread> searchAmongMembers(User actor, String pattern) { DetachedCriteria det = DetachedCriteria.forClass(Thread.class); det.add(Restrictions.eq("destroyed", false)); Disjunction or = Restrictions.disjunction(); det.createAlias("myMembers", "member2"); det.createAlias("member2.user", "u"); or.add(Restrictions.ilike("u.firstName", pattern, ANYWHERE)); or.add(Restrictions.ilike("u.lastName", pattern, ANYWHERE)); det.add(or);/*from ww w . j a v a 2 s .c om*/ DetachedCriteria sub = DetachedCriteria.forClass(Thread.class); sub.createAlias("myMembers", "member"); if (!actor.isSuperAdmin()) sub.add(Restrictions.eq("member.user", actor)); sub.setProjection(Projections.id()); det.add(Subqueries.propertyIn("id", sub)); return findByCriteria(det); }
From source file:org.motechproject.server.model.db.hibernate.HibernateMotechDAO.java
License:Open Source License
@SuppressWarnings("unchecked") public List<Patient> getDuplicatePatients(String firstName, String lastName, String preferredName, Date birthDate, Integer facilityId, String phoneNumber, PersonAttributeType phoneNumberAttrType, String nhisNumber, PersonAttributeType nhisAttrType, String patientId, PatientIdentifierType patientIdType, Integer maxResults) { Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Patient.class); criteria.createAlias("names", "name"); criteria.createAlias("attributes", "att"); criteria.createAlias("identifiers", "id"); criteria.add(Restrictions.eq("voided", false)); criteria.add(Restrictions.eq("name.voided", false)); criteria.add(Restrictions.eq("att.voided", false)); criteria.add(Restrictions.eq("id.voided", false)); Criterion patientIdCriterion = Restrictions.and(Restrictions.eq("id.identifierType", patientIdType), Restrictions.eq("id.identifier", patientId)); Criterion nhisCriterion = Restrictions.and(Restrictions.eq("att.attributeType", nhisAttrType), Restrictions.eq("att.value", nhisNumber)); Criterion nameCriterion = Restrictions.or( Restrictions.and(Restrictions.eq("name.givenName", firstName), Restrictions.eq("name.familyName", lastName)), Restrictions.and(Restrictions.eq("name.givenName", preferredName), Restrictions.eq("name.familyName", lastName))); Criterion phoneCriterion = Restrictions.and(Restrictions.eq("att.attributeType", phoneNumberAttrType), Restrictions.eq("att.value", phoneNumber)); Disjunction otherCriterion = Restrictions.disjunction(); otherCriterion.add(Restrictions.eq("birthdate", birthDate)); otherCriterion.add(Restrictions.sqlRestriction( "exists (select f.id from motechmodule_facility f " + "inner join motechmodule_facility_patient fp " + "on f.id = fp.facility_id " + "where f.facility_id = ? and fp.patient_id = {alias}.patient_id)", facilityId, Hibernate.INTEGER)); otherCriterion.add(phoneCriterion);/*ww w .ja v a 2 s . c o m*/ // Get Patients by PatientId or NHIS or // (((FirstName and LastName) or (PreferredName and LastName)) and // (BirthDate or Community or PhoneNumber)))) Disjunction finalCriterion = Restrictions.disjunction(); finalCriterion.add(patientIdCriterion); finalCriterion.add(nhisCriterion); finalCriterion.add(Restrictions.and(nameCriterion, otherCriterion)); criteria.add(finalCriterion); criteria.addOrder(Order.asc("name.givenName")); criteria.addOrder(Order.asc("name.familyName")); criteria.addOrder(Order.asc("birthdate")); criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); if (maxResults != null) { criteria.setMaxResults(maxResults); } return criteria.list(); }
From source file:org.mzd.shap.domain.dao.FeatureDaoSpringHibernate.java
License:Open Source License
public List<Feature> findMarkers(final Order order, final String[] markerNames) { return getHibernateTemplate().execute(new HibernateCallback<List<Feature>>() { @SuppressWarnings("unchecked") public List<Feature> doInHibernate(Session session) { // Or all specified marker names together Disjunction disj = Restrictions.disjunction(); for (String mn : markerNames) { disj.add(Restrictions.like("description", "%" + mn + "%")); }//ww w. j a v a 2 s . c o m Criteria crit = session.createCriteria(getPersistentClass()).createCriteria("annotations") .add(disj); if (order != null) { crit.addOrder(order); } return crit.list(); } }); }
From source file:org.mzd.shap.spring.task.JobDaoSpringHibernate.java
License:Open Source License
public long countIncomplete() { return getHibernateTemplate().execute(new HibernateCallback<Long>() { public Long doInHibernate(Session session) throws HibernateException, SQLException { return (Long) session.createCriteria(getPersistentClass()) .add(Restrictions.disjunction().add(Restrictions.eq("status", Status.NEW)) .add(Restrictions.eq("status", Status.STARTED))) .setProjection(Projections.rowCount()).uniqueResult(); }/*from w ww . j av a 2s.c o m*/ }); }
From source file:org.mzd.shap.spring.task.JobDaoSpringHibernate.java
License:Open Source License
public long countIncompleteTasks(final Integer jobId) { return getHibernateTemplate().execute(new HibernateCallback<Long>() { public Long doInHibernate(Session session) throws HibernateException, SQLException { return (Long) session.createCriteria(getPersistentClass()).add(Restrictions.idEq(jobId)) .setProjection(Projections.rowCount()).createCriteria("tasks") .add(Restrictions.disjunction().add(Restrictions.eq("status", Status.NEW)) .add(Restrictions.eq("status", Status.QUEUED)) .add(Restrictions.eq("status", Status.STARTED))) .uniqueResult();/*from www . j a v a 2 s . com*/ } }); }
From source file:org.mzd.shap.spring.task.JobDaoSpringHibernate.java
License:Open Source License
public long countIncompleteTasks(final Job job) { return getHibernateTemplate().execute(new HibernateCallback<Long>() { public Long doInHibernate(Session session) throws HibernateException, SQLException { return (Long) session.createCriteria(getPersistentClass()).add(Restrictions.idEq(job.getId())) .setProjection(Projections.rowCount()).createCriteria("tasks") .add(Restrictions.disjunction().add(Restrictions.eq("status", Status.NEW)) .add(Restrictions.eq("status", Status.QUEUED)) .add(Restrictions.eq("status", Status.STARTED))) .uniqueResult();/* ww w.j a va 2 s.c o m*/ } }); }
From source file:org.mzd.shap.spring.task.TaskDaoSpringHibernate.java
License:Open Source License
protected long countIncomplete(final Status jobStatus) { return getHibernateTemplate().execute(new HibernateCallback<Long>() { public Long doInHibernate(Session session) throws HibernateException, SQLException { return (Long) session.createCriteria(getPersistentClass()) .add(Restrictions.disjunction().add(Restrictions.eq("status", Status.NEW)) .add(Restrictions.eq("status", Status.STARTED)) .add(Restrictions.eq("status", Status.QUEUED))) .createAlias("job", "job").add(Restrictions.eq("job.status", jobStatus)) .setProjection(Projections.rowCount()).setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY) .uniqueResult();//w ww . ja va 2s.c om } }); }