Example usage for org.hibernate.criterion Restrictions between

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

Introduction

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

Prototype

public static Criterion between(String propertyName, Object low, Object high) 

Source Link

Document

Apply a "between" constraint to the named property

Usage

From source file:dk.teachus.backend.dao.hibernate.HibernateBookingDAO.java

License:Apache License

@SuppressWarnings("unchecked")
@Transactional(readOnly = true)//from  www .  j  a  va 2s. c o  m
public Bookings getBookings(Teacher teacher, DateMidnight fromDate, DateMidnight toDate) {
    DetachedCriteria c = DetachedCriteria.forClass(BookingImpl.class);

    DateTime start = fromDate.toDateTime().withHourOfDay(0).withMinuteOfHour(0).withSecondOfMinute(0)
            .withMillisOfSecond(0);
    DateTime end = toDate.toDateTime().withHourOfDay(23).withMinuteOfHour(59).withSecondOfMinute(59)
            .withMillisOfSecond(999);

    c.createCriteria("period").add(Restrictions.eq("status", Status.FINAL));
    c.createCriteria("teacher").add(Restrictions.eq("active", true));
    c.add(Restrictions.eq("teacher", teacher));
    c.add(Restrictions.between("date", start, end));
    c.add(Restrictions.eq("active", true));

    c.setResultTransformer(DistinctRootEntityResultTransformer.INSTANCE);

    List<Booking> bookings = getHibernateTemplate().findByCriteria(c);
    List<Booking> filteredBookings = filterBookings(bookings);

    return new BookingsImpl(filteredBookings);
}

From source file:dk.teachus.backend.dao.hibernate.HibernateBookingDAO.java

License:Apache License

@SuppressWarnings("unchecked")
@Transactional(readOnly = true)//from   w ww.ja  v  a2  s . co m
public Bookings getBookings(Pupil pupil, DateMidnight fromDate, DateMidnight toDate) {
    DetachedCriteria c = DetachedCriteria.forClass(BookingImpl.class);

    DateTime start = new DateTime(fromDate).withHourOfDay(0).withMinuteOfHour(0).withSecondOfMinute(0)
            .withMillisOfSecond(0);
    DateTime end = new DateTime(toDate).withHourOfDay(23).withMinuteOfHour(59).withSecondOfMinute(59)
            .withMillisOfSecond(999);

    c.createCriteria("period").add(Restrictions.eq("status", Status.FINAL));
    c.createCriteria("teacher").add(Restrictions.eq("active", true));
    c.add(Restrictions.eq("pupil", pupil));
    c.add(Restrictions.between("date", start, end));
    c.add(Restrictions.eq("active", true));

    c.setResultTransformer(DistinctRootEntityResultTransformer.INSTANCE);

    List<Booking> bookings = getHibernateTemplate().findByCriteria(c);
    List<Booking> filteredBookings = filterBookings(bookings);

    return new BookingsImpl(filteredBookings);
}

From source file:edu.neu.webtoolsfinal.repository.UserRepository.java

public List<User> quickSearch(String gender, String seekingGender, Integer minAge, Integer maxAge,
        String country, String state, String city) {
    Criteria criteria = getSession().createCriteria(User.class);
    if (gender != null && !"Any".equals(gender)) {
        criteria.add(Restrictions.eq("gender", gender));
    }//  w  w w . jav a 2  s .co  m

    if (seekingGender != null && !"Any".equals(seekingGender)) {
        criteria.add(Restrictions.eq("seekingGender", seekingGender));
    }

    if (minAge != null && maxAge != null) {
        criteria.add(Restrictions.between("age", minAge, maxAge));
    }

    if (country != null && !"Any".equals(country)) {
        criteria.add(Restrictions.eq("country", country));
    }

    if (state != null && !"".equals(state)) {
        criteria.add(Restrictions.eq("state", state));
    }

    if (city != null && !"".equals(city)) {
        criteria.add(Restrictions.eq("city", city));
    }

    return criteria.list();
}

From source file:edu.nps.moves.mmowgli.modules.registrationlogin.RegistrationPagePopupFirst.java

License:Open Source License

@SuppressWarnings("unchecked")
public static Criterion getIntervalRestrictionTL() {
    Game game = Game.getTL();// w  w  w.  j a v  a  2 s  .c  o m
    if (!game.isRestrictByQueryListInterval())
        return null;

    Date startDate = null, endDate = null;

    Session piiSess = VHibPii.getASession();
    List<Query2Pii> lis = piiSess.createCriteria(Query2Pii.class)
            .add(Restrictions.eq(QUERY_MARKER_FIELD, QUERY_START_MARKER)).list();
    if (!lis.isEmpty())
        startDate = lis.get(0).getDate();

    lis = piiSess.createCriteria(Query2Pii.class).add(Restrictions.eq(QUERY_MARKER_FIELD, QUERY_END_MARKER))
            .list();
    piiSess.close();

    if (!lis.isEmpty())
        endDate = lis.get(0).getDate();

    if (startDate == null) {
        if (endDate == null)
            return null;
        return Restrictions.lt("date", endDate);
    } else {
        if (endDate == null)
            return Restrictions.gt("date", startDate);
        else
            return Restrictions.between("date", startDate, endDate);
    }
}

From source file:edu.utah.further.core.data.hibernate.query.CriterionBuilderHibernateImpl.java

License:Apache License

/**
 * @param <E>//from   w  ww.  ja va  2s .c  om
 * @param criterion
 * @see #visit(edu.utah.further.core.search.IntervalExpression)
 */
private void visitInterval() {
    final String propertyName = (String) criterion.getParameter(0);
    final Object low = criterion.getParameter(1);
    final Object high = criterion.getParameter(2);
    result = Restrictions.between(propertyName, low, high);
}

From source file:ee.ria.xroad.opmonitordaemon.OperationalDataRecordManager.java

License:Open Source License

private static boolean hasRecordsLeft(Session session, long lastMonitoringDataTs, long recordsTo,
        ClientId clientFilter, ClientId serviceProviderFilter) {
    if (lastMonitoringDataTs == recordsTo) {
        return false;
    }/*from  w  w w  .j a  v a2 s.  c o m*/

    Criteria criteria = createCriteria(session, clientFilter, serviceProviderFilter,
            Collections.singleton(MONITORING_DATA_TS));
    // BETWEEN treats the endpoint values as included in the range.
    criteria.add(Restrictions.between(MONITORING_DATA_TS, lastMonitoringDataTs + 1, recordsTo));
    criteria.setMaxResults(1);

    return criteria.list().size() > 0;
}

From source file:ee.ria.xroad.opmonitordaemon.OperationalDataRecordManager.java

License:Open Source License

private static Criteria createCriteria(Session session, long recordsFrom, long recordsTo, ClientId clientFilter,
        ClientId serviceProviderFilter, Set<String> outputFields) {
    Criteria criteria = createCriteria(session, clientFilter, serviceProviderFilter, outputFields);

    // BETWEEN treats the endpoint values as included in the range.
    criteria.add(Restrictions.between(MONITORING_DATA_TS, recordsFrom, recordsTo));
    criteria.addOrder(Order.asc(MONITORING_DATA_TS));
    criteria.setMaxResults(maxRecordsInPayload);

    return criteria;
}

From source file:ee.ria.xroad.proxy.messagelog.LogRecordManager.java

License:Open Source License

@SneakyThrows
private MessageRecord getMessageRecord(Session session, String queryId, Date startTime, Date endTime) {
    Criteria criteria = session.createCriteria(MessageRecord.class);
    criteria.add(Restrictions.eq("queryId", queryId));
    criteria.add(Restrictions.between("time", startTime.getTime(), endTime.getTime()));
    criteria.setMaxResults(1);/*w w  w  . j av  a 2s .  c o  m*/
    return (MessageRecord) criteria.uniqueResult();
}

From source file:es.sm2.openppm.core.dao.AuditDAO.java

License:Open Source License

private Criterion[] getRestrictions(AuditSearch search) {

    List<Criterion> restrictions = new ArrayList<Criterion>();

    restrictions.add(Restrictions.eq(Audit.IDCOMPANY, search.getCompany().getIdCompany()));
    restrictions.add(Restrictions.eq(Audit.LOCATION, search.getLocation().name()));

    if (search.getIdProject() != null) {
        restrictions.add(Restrictions.eq(Audit.IDPROJECT, search.getIdProject()));
    }//w  w w . j a v  a 2  s. co  m

    if (search.getIdContact() != null) {
        restrictions.add(Restrictions.eq(Audit.IDCONTACT, search.getIdContact()));
    }

    if (ValidateUtil.isNotNull(search.getProjectStatus())) {
        restrictions.add(Restrictions.eq(Audit.PROJECTSTATUS, search.getProjectStatus()));
    }

    if (search.getSince() != null && search.getUntil() != null) {
        restrictions.add(Restrictions.between(Audit.CREATIONDATE, search.getSince(), search.getUntil()));
    } else if (search.getSince() != null) {
        restrictions.add(Restrictions.ge(Audit.CREATIONDATE, search.getSince()));
    } else if (search.getUntil() != null) {
        restrictions.add(Restrictions.le(Audit.CREATIONDATE, search.getUntil()));
    }

    return restrictions.toArray(new Criterion[restrictions.size()]);

}

From source file:es.sm2.openppm.core.dao.DataTableDAO.java

License:Open Source License

private void applyFilters(Criteria crit, List<DatoColumna> filtrosExtras) throws ParseException {

    SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy");

    for (DatoColumna filtroColumna : filtrosExtras) {

        if (filtroColumna.getTipo() == Date.class) {

            // Filtramos si es una fecha
            Date tempDate = df.parse(filtroColumna.getValor());
            crit.add(Restrictions.eq(filtroColumna.getNombre(), tempDate));
        } else if (filtroColumna.getTipo() == Integer.class) {

            // Filtramos si es un numero
            Integer integer = Integer.parseInt(filtroColumna.getValor());
            crit.add(Restrictions.eq(filtroColumna.getNombre(), integer));
        } else if (filtroColumna.getTipo() == Boolean.class) {

            // Filtramos si es un booleano
            Boolean bool = Boolean.parseBoolean(filtroColumna.getValor());
            crit.add(Restrictions.eq(filtroColumna.getNombre(), bool));
        } else if (filtroColumna.getTipo() == List.class) {

            // Since Until
            if (filtroColumna.getSubTipo() != null && filtroColumna.getSubTipo() == Date.class) {

                Date sinceDate = (Date) filtroColumna.getObjectList()[0];
                Date untilDate = (Date) filtroColumna.getObjectList()[1];

                String sinceName = (String) filtroColumna.getNombreList()[0];
                String untilName = (String) filtroColumna.getNombreList()[1];

                crit.add(Restrictions.disjunction().add(Restrictions.between(sinceName, sinceDate, untilDate))
                        .add(Restrictions.between(untilName, sinceDate, untilDate)).add(Restrictions.and(
                                Restrictions.le(sinceName, sinceDate), Restrictions.ge(untilName, untilDate))));
            } else {
                // Tiene que estar en la lista
                crit.add(Restrictions.in(filtroColumna.getNombre(), filtroColumna.getValorList()));
            }//from  w w  w . ja  v  a2  s .co  m
        } else if (filtroColumna.getTipo() == String.class) {

            if (filtroColumna.getSubTipo() == List.class) {

                if (!ValidateUtil.isNull(filtroColumna.getValor())) {
                    String[] value = filtroColumna.getValor().split(",");
                    List<Integer> ids = new ArrayList<Integer>();

                    for (String id : value) {
                        ids.add(Integer.parseInt(id));
                    }
                    if (filtroColumna.getCriteria() != null) {
                        Criteria crit2 = crit.createCriteria(filtroColumna.getCriteria());
                        crit2.add(Restrictions.in(filtroColumna.getNombre(), ids));
                    } else {
                        crit.add(Restrictions.in(filtroColumna.getNombre(), ids));
                    }
                }
            } else {
                // Comparando texto
                crit.add(Restrictions.like(filtroColumna.getNombre(), "%" + filtroColumna.getValor() + "%"));
            }
        } else {

            // Filtrando Objectos
            crit.add(Restrictions.eq(filtroColumna.getNombre(), filtroColumna.getObject()));
        }
    }
}