Example usage for org.hibernate.query Query scroll

List of usage examples for org.hibernate.query Query scroll

Introduction

In this page you can find the example usage for org.hibernate.query Query scroll.

Prototype

@Override
    ScrollableResults scroll(ScrollMode scrollMode);

Source Link

Usage

From source file:org.openvpms.component.business.dao.hibernate.im.IMObjectDAOHibernate.java

License:Open Source License

/**
 * Counts the total no. of rows that would be returned by a named query.
 *
 * @param name    the query name/*from   w w w . j a v a 2 s  .  c o  m*/
 * @param params  the query parameters
 * @param session the session
 * @return the total no. of rows that would be returned by the query
 * @throws IMObjectDAOException a runtime exception, raised if the request
 *                              cannot complete.
 */
private int countNamedQuery(String name, Params params, Session session) {
    Query query = session.getNamedQuery(name);
    params.setParameters(query);

    int result = 0;
    ScrollableResults results = null;
    try {
        results = query.scroll(ScrollMode.FORWARD_ONLY);
        if (results.last()) {
            result = results.getRowNumber() + 1;
        }
    } finally {
        if (results != null) {
            results.close();
        }
    }
    return result;
}