Example usage for org.hibernate.dialect Dialect supportsLimit

List of usage examples for org.hibernate.dialect Dialect supportsLimit

Introduction

In this page you can find the example usage for org.hibernate.dialect Dialect supportsLimit.

Prototype

@Deprecated
public boolean supportsLimit() 

Source Link

Document

Does this dialect support some form of limiting query results via a SQL clause?

Usage

From source file:com.liferay.jbpm.util.QueryUtil.java

License:Open Source License

public static List<?> list(Query query, Dialect dialect, int begin, int end) {

    if ((begin == ALL_POS) && (end == ALL_POS)) {
        return query.list();
    } else {// w w w. ja  va  2 s .c o  m
        if (dialect.supportsLimit()) {
            query.setMaxResults(end - begin);
            query.setFirstResult(begin);

            return query.list();
        } else {
            List<Object> list = new ArrayList<Object>();

            ScrollableResults sr = query.scroll();

            if (sr.first() && sr.scroll(begin)) {
                for (int i = begin; i < end; i++) {
                    Object obj = sr.get(0);

                    list.add(obj);

                    if (!sr.next()) {
                        break;
                    }
                }
            }

            return list;
        }
    }
}