List of usage examples for org.hibernate.dialect Dialect getLimitString
@Deprecated public String getLimitString(String query, int offset, int limit)
From source file:com.lakeside.data.sqldb.PageBaseDao.java
License:Apache License
protected <X> String setPageParameter(final String sql, final Map<String, Object> values, final Page<X> page) { Dialect dialect = ((SessionFactoryImpl) sessionFactory).getDialect(); String pageSql = dialect.getLimitString(sql, page.getFirst() - 1, page.getPageSize()); boolean hasOffset = page.getFirst() - 1 > 0 || dialect.forceLimitUsage(); if (!hasOffset) { pageSql = pageSql.replace("?", ":pageLimit"); values.put("pageLimit", page.getPageSize()); return pageSql; }//from w w w . j av a 2 s.c o m if (dialect.bindLimitParametersInReverseOrder()) { pageSql = StringUtils.replaceOnce(pageSql, "?", ":pageLimit"); pageSql = StringUtils.replaceOnce(pageSql, "?", ":pageOffset"); } else { pageSql = StringUtils.replaceOnce(pageSql, "?", ":pageOffset"); pageSql = StringUtils.replaceOnce(pageSql, "?", ":pageLimit"); } values.put("pageOffset", page.getFirst() - 1); values.put("pageLimit", page.getPageSize()); if (dialect.useMaxForLimit()) { values.put("pageLimit", page.getFirst() - 1 + page.getPageSize()); } return pageSql; }