/*
 * Hibernate, Relational Persistence for Idiomatic Java
 *
 * License: GNU Lesser General Public License (LGPL), version 2.1 or later.
 * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
 */
package org.hibernate.dialect.pagination;

import org.hibernate.dialect.Dialect;
import org.hibernate.engine.spi.RowSelection;

Limit handler that delegates all operations to the underlying dialect.
Author:Lukasz Antoniak (lukasz dot antoniak at gmail dot com)
/** * Limit handler that delegates all operations to the underlying dialect. * * @author Lukasz Antoniak (lukasz dot antoniak at gmail dot com) */
@SuppressWarnings("deprecation") public class LegacyLimitHandler extends AbstractLimitHandler { private final Dialect dialect;
Constructs a LegacyLimitHandler
Params:
  • dialect – The dialect
/** * Constructs a LegacyLimitHandler * * @param dialect The dialect */
public LegacyLimitHandler(Dialect dialect) { this.dialect = dialect; } @Override public boolean supportsLimit() { return dialect.supportsLimit(); } @Override public boolean supportsLimitOffset() { return dialect.supportsLimitOffset(); } @Override public boolean supportsVariableLimit() { return dialect.supportsVariableLimit(); } @Override public boolean bindLimitParametersInReverseOrder() { return dialect.bindLimitParametersInReverseOrder(); } @Override public boolean bindLimitParametersFirst() { return dialect.bindLimitParametersFirst(); } @Override public boolean useMaxForLimit() { return dialect.useMaxForLimit(); } @Override public boolean forceLimitUsage() { return dialect.forceLimitUsage(); } @Override public int convertToFirstRowValue(int zeroBasedFirstResult) { return dialect.convertToFirstRowValue( zeroBasedFirstResult ); } @Override public String processSql(String sql, RowSelection selection) { final boolean useLimitOffset = supportsLimit() && supportsLimitOffset() && LimitHelper.hasFirstRow( selection ) && LimitHelper.hasMaxRows( selection ); return dialect.getLimitString( sql, useLimitOffset ? LimitHelper.getFirstRow( selection ) : 0, getMaxOrLimit( selection ) ); } }