Example usage for org.hibernate Criteria setMaxResults

List of usage examples for org.hibernate Criteria setMaxResults

Introduction

In this page you can find the example usage for org.hibernate Criteria setMaxResults.

Prototype

public Criteria setMaxResults(int maxResults);

Source Link

Document

Set a limit upon the number of objects to be retrieved.

Usage

From source file:com.github.javarch.persistence.orm.hibernate.DefaultHibernateRepository.java

License:Apache License

/**
 * Busca o objeto de acordo com o objeto preenchido com os valores passado
 * como exemplo.//from ww  w . j a v  a  2  s . c  om
 *
 * @param objeto
 * @param indiceInicial
 * @param indiceFinal
 * @param ordenacoes
 *            lista de critrios de ordenao.
 * @return Lista de orden
 */
public <T extends Persistable<?>> List<T> findAllByExample(T objeto, PageRequest page, Order... ordenacoes) {
    Example example = createExemple(objeto);
    Criteria criteria = createCriteria((Class<T>) objeto.getClass()).add(example);
    if (page != null) {
        criteria.setFirstResult(page.getStartingAt());
        criteria.setMaxResults(page.getMaxPerPage());
    }
    addOrder(criteria, ordenacoes);

    return (List<T>) criteria.list();
}

From source file:com.github.patrickianwilson.blogs.testing.induction.repositories.MySQLURLRepository.java

License:Open Source License

private UrlDbEntity findByCriteria(UrlDbEntity reference, Session session) {

    Criteria criteria = session.createCriteria(UrlDbEntity.class);

    if (reference.getLongForm() != null)
        criteria.add(Restrictions.eq("longForm", reference.getLongForm()));

    if (reference.getShortForm() != null)
        criteria.add(Restrictions.eq("shortForm", reference.getShortForm()));

    criteria.setMaxResults(1);

    List<UrlDbEntity> resultSet = criteria.list();

    if (resultSet.size() > 0) {
        return resultSet.get(0);
    } else {//from   ww  w  . j av  a  2 s. c om
        return null;
    }

}

From source file:com.google.api.ads.adwords.jaxws.extensions.report.model.persistence.sql.SqlReportEntitiesPersister.java

License:Open Source License

/**
 * Create a paginated query/*from ww  w  .j  a  v  a2  s.  c o m*/
 *
 * @param clazz the entity class
 * @param numToSkip the first result
 * @param limit the max number of results
 * @return the list of results
 */
private <T> Criteria createPaginatedCriteria(Class<T> clazz, int numToSkip, int limit) {

    Criteria criteria = this.createCriteria(clazz);
    criteria.setFirstResult(numToSkip);
    criteria.setMaxResults(limit);
    return criteria;
}

From source file:com.googlecode.ouvidoria.model.complaint.ComplaintDaoImpl.java

@Override
@SuppressWarnings("unchecked")
public List<?> searchByCriteria(final int transform, final String queryString, int pageNumber, int pageSize,
        final ComplaintVO vo) {
    Criteria criteria = this.getSession().createCriteria(Complaint.class);

    if (vo != null) {
        if (vo.getId() != null) {
            criteria.add(Restrictions.idEq(vo.getId()));
        } else {/*w  w  w  . jav a2 s.co m*/
            if (vo.getStatus() != null) {
                System.out.println("DAO .... " + vo.getStatus());
                criteria.add(Restrictions.eq("status", vo.getStatus()));
            }
            //TODO demandant
            if (vo.getSubjectId() != null) {
                criteria.createCriteria("subject").add(Restrictions.idEq(vo.getSubjectId()));
            }
            if (vo.getText() != null) {
                criteria.add(Restrictions.ilike("text", "%" + vo.getText() + "%"));
            }
            if (vo.getTypeId() != null) {
                criteria.createCriteria("type").add(Restrictions.idEq(vo.getTypeId()));
            }
        }
    }
    criteria.addOrder(Order.desc("date"));

    if (pageNumber > 0 && pageSize > 0) {
        criteria.setFirstResult(super.calculateFirstResult(pageNumber, pageSize));
        criteria.setMaxResults(pageSize);
    }

    List results = criteria.list();
    transformEntities(transform, results);
    return results;
}

From source file:com.gotour.daos.GenericDaoImpl.java

@Override
public List<T> getPage(int pageNumber, int pageSize) {
    Criteria crit = getSession().createCriteria(type);
    crit.setFirstResult((pageNumber - 1) * pageSize);
    crit.setMaxResults(pageSize);
    return crit.list();
}

From source file:com.gotour.daos.GenericDaoImpl.java

@Override
public T findUnique(String property, Object value) {
    Criteria crit = getSession().createCriteria(type);
    crit.add(Restrictions.eq(property, value));
    crit.setMaxResults(1);
    return (T) crit.uniqueResult();
}

From source file:com.gotour.daos.GenericDaoImpl.java

protected List<T> getPageByCriteria(int pageNumber, int pageSize, Criteria crit) {
    crit.setFirstResult((pageNumber - 1) * pageSize);
    crit.setMaxResults(pageSize);
    return crit.list();
}

From source file:com.gp.cong.logisoft.hibernate.dao.lcl.LclBookingHotCodeDAO.java

public LclBookingHotCode getHotCodeByFileIDCode(Long fileId, String code) throws Exception {
    Criteria criteria = getSession().createCriteria(LclBookingHotCode.class, "lclHotCode");
    criteria.createAlias("lclHotCode.lclFileNumber", "lclFileNumber");
    if (!CommonUtils.isEmpty(fileId)) {
        criteria.add(Restrictions.eq("lclFileNumber.id", fileId));
    }//from  w  w  w . j  a va  2  s.  co  m
    if (!CommonUtils.isEmpty(code)) {
        criteria.add(Restrictions.eq("code", code));
    }
    return (LclBookingHotCode) criteria.setMaxResults(1).uniqueResult();
}

From source file:com.heliosapm.aa4h.parser.XMLQueryParser.java

License:Apache License

/**
 * Initializes a Criteria Query./*from   w w w  .  j av a 2s .c om*/
 * Mandatory Attributes:<ul>
 * <li><b>name</b>: The unqualified class name driving the criteria query.</li>
 * </ul>
 * Optional Attributes:<ul>
 * <li><b>prefix</b>: The package name of the class driving the criteria query. If null, no package is assumed.</li>
 * <li><b>maxSize</b>: The maximum number of rows to return from the database.</li>
 * <li><b>fetchSize</b>: The number of rows to fetch when rows are requested. Usually not useful for AA4H.</li>
 * <li><b>cacheEnabled</b>: Enables or disables caching for the queried objects.</li>
 * <li><b>cacheMode</b>: The cache options for the queried objects.</li>
 * <li><b>flushMode</b>: The session flush options.</li>
 * <li><b>fetchMode</b>: The collection fetch options for the query.</li>
 * <li><b>lockMode</b>: The row lock options for the queried rows.</li>
 * <li><b>timeOut</b>: The query timeout option.</li>
 * <li><b>rowCountOnly</b>: Returns a count of the query rows only.</li>
 * </ul>
 * @param attrs The attributes of the processed node.
 * @return An appended or new CriteriaSpecification
 * @throws SAXException
 */
protected CriteriaSpecification processCriteria(Attributes attrs) throws SAXException {
    if (inDetached) {
        return criteriaStack.peek();
    }
    String name = attrs.getValue("name");
    String prefix = attrs.getValue("prefix");
    if (prefix != null) {
        className = prefix + "." + name;
    } else {
        className = name;
    }
    String maxSize = attrs.getValue("maxSize");
    String fetchSize = attrs.getValue("fetchSize");
    String firstResult = attrs.getValue("firstResult");
    String cacheEnabled = attrs.getValue("cacheEnabled");
    String cacheMode = attrs.getValue("cacheMode");
    String flushMode = attrs.getValue("flushMode");
    String fetchMode = attrs.getValue("fetchMode");
    String lockMode = attrs.getValue("lockMode");
    String timeOut = attrs.getValue("timeOut");
    String rowCountOnly = attrs.getValue("rowCountOnly");
    Criteria newCriteria = null;
    try {
        if (criteriaStack.size() == 0) {
            newCriteria = session.createCriteria(className);
        } else {
            newCriteria = ((Criteria) criteriaStack.peek()).createCriteria(className);
        }
        criteriaStack.push(newCriteria);
        if ("true".equalsIgnoreCase(rowCountOnly)) {
            newCriteria.setProjection(Projections.projectionList().add(Projections.rowCount())

            );
            setRowCountOnly(true);
        }
        if (maxSize != null && isRowCountOnly() == false) {
            newCriteria.setMaxResults(Integer.parseInt(maxSize));
        }
        if (fetchSize != null && isRowCountOnly() == false) {
            newCriteria.setFetchSize(Integer.parseInt(fetchSize));
        }
        if (firstResult != null && isRowCountOnly() == false) {
            newCriteria.setFirstResult(Integer.parseInt(firstResult));
        }
        if (timeOut != null) {
            newCriteria.setTimeout(Integer.parseInt(timeOut));
        }

        if ("true".equalsIgnoreCase(cacheEnabled)) {
            newCriteria.setCacheable(true);
        } else if ("false".equalsIgnoreCase(cacheEnabled)) {
            newCriteria.setCacheable(false);
        }
        if (fetchMode != null && fetchMode.length() > 0) {
            if ("JOIN".equalsIgnoreCase(fetchMode)) {
                newCriteria.setFetchMode(name, FetchMode.JOIN);
            } else if ("SELECT".equalsIgnoreCase(fetchMode)) {
                newCriteria.setFetchMode(name, FetchMode.SELECT);
            } else {
                newCriteria.setFetchMode(name, FetchMode.DEFAULT);
            }
        } else {
            newCriteria.setFetchMode(name, FetchMode.DEFAULT);
        }
        if (cacheMode != null && cacheMode.length() > 0) {
            if ("GET".equalsIgnoreCase(cacheMode)) {
                newCriteria.setCacheMode(CacheMode.GET);
            } else if ("IGNORE".equalsIgnoreCase(cacheMode)) {
                newCriteria.setCacheMode(CacheMode.IGNORE);
            } else if ("NORMAL".equalsIgnoreCase(cacheMode)) {
                newCriteria.setCacheMode(CacheMode.NORMAL);
            } else if ("PUT".equalsIgnoreCase(cacheMode)) {
                newCriteria.setCacheMode(CacheMode.PUT);
            } else if ("REFRESH".equalsIgnoreCase(cacheMode)) {
                newCriteria.setCacheMode(CacheMode.REFRESH);
            } else {
                newCriteria.setCacheMode(CacheMode.NORMAL);
            }
        }
        if (lockMode != null && lockMode.length() > 0) {
            if ("NONE".equalsIgnoreCase(lockMode)) {
                newCriteria.setLockMode(LockMode.NONE);
            } else if ("READ".equalsIgnoreCase(lockMode)) {
                newCriteria.setLockMode(LockMode.READ);
            } else if ("UPGRADE".equalsIgnoreCase(lockMode)) {
                newCriteria.setLockMode(LockMode.UPGRADE);
            } else if ("UPGRADE_NOWAIT".equalsIgnoreCase(lockMode)) {
                newCriteria.setLockMode(LockMode.UPGRADE_NOWAIT);
            } else if ("WRITE".equalsIgnoreCase(lockMode)) {
                newCriteria.setLockMode(LockMode.WRITE);
            } else {
                throw new SAXException("lockMode[" + lockMode + "] Not Recognized");
            }
        }
        if (flushMode != null && flushMode.length() > 0) {
            if ("ALWAYS".equalsIgnoreCase(flushMode)) {
                newCriteria.setFlushMode(FlushMode.ALWAYS);
            } else if ("AUTO".equalsIgnoreCase(flushMode)) {
                newCriteria.setFlushMode(FlushMode.AUTO);
            } else if ("COMMIT".equalsIgnoreCase(flushMode)) {
                newCriteria.setFlushMode(FlushMode.COMMIT);
            } else if ("NEVER".equalsIgnoreCase(flushMode)) {
                // NEVER is deprecated, so we won't throw an exception but we'll ignore it.
            } else {
                throw new SAXException("flushMode[" + flushMode + "] Not Recognized");
            }
        }
        return newCriteria;

    } catch (Exception e) {
        throw new SAXException("Unable to configure class " + className, e);
    }
}

From source file:com.hmsinc.epicenter.model.surveillance.impl.SurveillanceRepositoryImpl.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<Anomaly> getAnomalies(final DateTime startDate, final DateTime endDate, final boolean includeAll,
        final Geometry filter, final Geometry excludeFacilityEventsFilter, Integer offset, Integer numRows) {

    final Criteria c = criteriaQuery(entityManager, Anomaly.class);
    c.setCacheable(true);/*from   w  w  w . j  av  a 2s .  co m*/

    applyAnomalyCriteria(c, startDate, endDate, includeAll, filter, excludeFacilityEventsFilter);

    if (offset != null) {
        c.setFirstResult(offset);
    }
    if (numRows != null) {
        c.setMaxResults(numRows);
    }

    return c.addOrder(Order.desc("analysisTimestamp")).list();

}