Example usage for org.hibernate.criterion DetachedCriteria getExecutableCriteria

List of usage examples for org.hibernate.criterion DetachedCriteria getExecutableCriteria

Introduction

In this page you can find the example usage for org.hibernate.criterion DetachedCriteria getExecutableCriteria.

Prototype

public Criteria getExecutableCriteria(Session session) 

Source Link

Document

Get an executable instance of Criteria to actually run the query.

Usage

From source file:org.openehealth.ipf.commons.flow.repository.FlowRepositoryImpl.java

License:Apache License

private Object execute(FlowFinderCriteria flowFinderCriteria, DetachedCriteria flowStatusCriteria,
        Session session, boolean idProjection) {

    Criteria criteria = flowStatusCriteria.getExecutableCriteria(session);

    if (idProjection) {
        criteria.setProjection(Projections.id());
    }/*from  w  w w .  j a va 2 s  .com*/

    int maxResults = flowFinderCriteria.getMaxResults();
    if (maxResults != FlowFinderCriteria.DEFAULT_MAX_RESULTS) {
        criteria.setMaxResults(maxResults);
    }

    if (flowFinderCriteria.hasMessageQuery()) {
        FlowSearchCriteria flowSearchCriteria = new FlowSearchCriteria();
        flowSearchCriteria.setHibernateCriteria(criteria);
        flowSearchCriteria.setInboundMessageQuery(flowFinderCriteria.getInboundMessageQuery());
        flowSearchCriteria.setOutboundMessageQuery(flowFinderCriteria.getOutboundMessageQuery());
        return flowSearchCallback.findFlows(session, flowSearchCriteria);
    } else {
        return criteria.list();
    }
}

From source file:org.openehealth.ipf.commons.flow.repository.FlowRepositoryImpl.java

License:Apache License

private Object execute(FlowPurgeCriteria flowPurgeCriteria, DetachedCriteria flowStatusCriteria,
        Session session) {//  ww  w  .ja va  2 s. c  o  m
    Criteria criteria = flowStatusCriteria.getExecutableCriteria(session);

    int purgeCount = flowPurgeCriteria.getMaxPurgeCount();
    if (purgeCount != FlowPurgeCriteria.DEFAULT_MAX_PURGE_COUNT) {
        // Setting max results adds "fetch first 100 rows only" to the select query
        // Works on Derby version 1.5.x and above with Hibernate version 3.5.x and above
        criteria.setMaxResults(purgeCount);
    }
    return criteria.list();
}

From source file:org.opengoss.dao.hibernate.DataAccessor.java

License:Apache License

public List findByCriteria(final DetachedCriteria criteria, final int firstResult, final int maxResults)
        throws DaoException {
    return (List) execute(new IAccessorCallback() {
        public Object call(Session session) throws HibernateException {
            Criteria executableCriteria = criteria.getExecutableCriteria(session);
            if (firstResult >= 0) {
                executableCriteria.setFirstResult(firstResult);
            }//from  ww w.jav a 2 s  .  c om
            if (maxResults > 0) {
                executableCriteria.setMaxResults(maxResults);
            }
            return executableCriteria.list();
        }
    });
}

From source file:org.openremote.beehive.api.service.impl.GenericDAO.java

License:Open Source License

/**
 * Find persistent instances by DetachedCriteria in pagination.
 * /* www  .j a  v a  2 s .  c o  m*/
 * @param <T>
 *           a persistent generics
 * @param detachedCriteria
 *           DetachedCriteria
 * @param pageSize
 *           page size
 * @param startPos
 *           start position
 * @return persistent instances to find
 */
@SuppressWarnings("unchecked")
public <T> List<T> findPagedDateByDetachedCriteria(final DetachedCriteria detachedCriteria, final int pageSize,
        final int startPos) {
    return (List<T>) getHibernateTemplate().execute(new HibernateCallback() {
        public Object doInHibernate(Session session) throws HibernateException, SQLException {
            Criteria criteria = detachedCriteria.getExecutableCriteria(session);
            criteria.setMaxResults(pageSize).setFirstResult(startPos);
            return criteria.list();
        }
    }, true);
}

From source file:org.openremote.beehive.api.service.impl.GenericDAO.java

License:Open Source License

/**
 * Counts By DetachedCriteria/* www.  j a  va  2 s .  c  o m*/
 * 
 * @param detachedCriteria
 *           must have Projections.count
 * @return the count
 */
public int countByDetachedCriteria(final DetachedCriteria detachedCriteria) {
    return Integer.valueOf(getHibernateTemplate().execute(new HibernateCallback() {
        public Object doInHibernate(Session session) throws HibernateException, SQLException {
            Criteria criteria = detachedCriteria.getExecutableCriteria(session);
            return criteria.uniqueResult();
        }
    }, true).toString());
}

From source file:org.openremote.modeler.dao.GenericDAO.java

License:Open Source License

/**
 * Find persistent instances by DetachedCriteria in pagination.
 * //from   www.j a  va 2 s.  co m
 * @param detachedCriteria DetachedCriteria
 * @param pageSize page size
 * @param startPos start position
 * @param <T> t
 * 
 * @return persistent instances to find
 */
@SuppressWarnings("unchecked")
public <T> List<T> findPagedDateByDetachedCriteria(final DetachedCriteria detachedCriteria, final int pageSize,
        final int startPos) {
    return (List<T>) getHibernateTemplate().execute(new HibernateCallback() {
        public Object doInHibernate(Session session) throws SQLException {
            Criteria criteria = detachedCriteria.getExecutableCriteria(session);
            criteria.setMaxResults(pageSize).setFirstResult(startPos);
            return criteria.list();
        }
    }, true);
}

From source file:org.openremote.modeler.dao.GenericDAO.java

License:Open Source License

/**
 * Counts By DetachedCriteria./*from www. j  a v  a2s  .  c  o  m*/
 * 
 * @param detachedCriteria must have Projections.count
 * 
 * @return the count
 */
public int countByDetachedCriteria(final DetachedCriteria detachedCriteria) {
    return Integer.valueOf(getHibernateTemplate().execute(new HibernateCallback() {
        public Object doInHibernate(Session session) throws SQLException {
            Criteria criteria = detachedCriteria.getExecutableCriteria(session);
            return criteria.uniqueResult();
        }
    }, true).toString());
}

From source file:org.reusables.access.AbstractHibernateRepository.java

License:Apache License

/**
 * @param criteria The criteria to use for the query.
 * @return The result found./*  w  w  w  .j  a va2  s.c  o m*/
 */
protected List<T> findByCriteria(final DetachedCriteria criteria) // TODO support first, max results, TODO different entity class. TODO cachable boolean
{
    return criteria.getExecutableCriteria(getSession()).list();
}

From source file:org.sakaiproject.scorm.dao.hibernate.AttemptDaoImpl.java

License:Educational Community License

protected Attempt uniqueResult(final DetachedCriteria criteria) {
    return (Attempt) getHibernateTemplate().execute(new HibernateCallback() {

        public Object doInHibernate(Session session) throws HibernateException, SQLException {
            Criteria s = criteria.getExecutableCriteria(session);
            return s.uniqueResult();
        }/*from  ww w.java 2 s . c  o m*/
    });
}

From source file:org.springframework.orm.hibernate3.HibernateTemplate.java

License:Apache License

@Override
public List<?> findByCriteria(final DetachedCriteria criteria, final int firstResult, final int maxResults)
        throws DataAccessException {

    Assert.notNull(criteria, "DetachedCriteria must not be null");
    return executeWithNativeSession(new HibernateCallback<List<?>>() {
        @Override/* w  w  w  . j  a  v  a2s  . c o m*/
        @SuppressWarnings("unchecked")
        public List<?> doInHibernate(Session session) throws HibernateException {
            Criteria executableCriteria = criteria.getExecutableCriteria(session);
            prepareCriteria(executableCriteria);
            if (firstResult >= 0) {
                executableCriteria.setFirstResult(firstResult);
            }
            if (maxResults > 0) {
                executableCriteria.setMaxResults(maxResults);
            }
            return executableCriteria.list();
        }
    });
}