Example usage for org.hibernate.criterion Restrictions disjunction

List of usage examples for org.hibernate.criterion Restrictions disjunction

Introduction

In this page you can find the example usage for org.hibernate.criterion Restrictions disjunction.

Prototype

public static Disjunction disjunction() 

Source Link

Document

Group expressions together in a single disjunction (A or B or C...).

Usage

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
        }
    });
}