org.hibernate.dialect.pagination
Interface LimitHandler

All Known Implementing Classes:
AbstractLimitHandler, LegacyLimitHandler, NoopLimitHandler, SQLServer2005LimitHandler

public interface LimitHandler

Contract defining dialect-specific LIMIT clause handling. Typically implementers might consider extending AbstractLimitHandler class.


Method Summary
 int bindLimitParametersAtEndOfQuery(PreparedStatement statement, int index)
          Bind parameter values needed by the LIMIT clause after original SELECT statement.
 int bindLimitParametersAtStartOfQuery(PreparedStatement statement, int index)
          Bind parameter values needed by the LIMIT clause before original SELECT statement.
 String getProcessedSql()
          Return processed SQL query.
 void setMaxRows(PreparedStatement statement)
          Use JDBC API to limit the number of rows returned by the SQL query.
 boolean supportsLimit()
          Does this handler support some form of limiting query results via a SQL clause?
 boolean supportsLimitOffset()
          Does this handler's LIMIT support (if any) additionally support specifying an offset?
 

Method Detail

supportsLimit

boolean supportsLimit()
Does this handler support some form of limiting query results via a SQL clause?

Returns:
True if this handler supports some form of LIMIT.

supportsLimitOffset

boolean supportsLimitOffset()
Does this handler's LIMIT support (if any) additionally support specifying an offset?

Returns:
True if the handler supports an offset within the limit support.

getProcessedSql

String getProcessedSql()
Return processed SQL query.

Returns:
Query statement with LIMIT clause applied.

bindLimitParametersAtStartOfQuery

int bindLimitParametersAtStartOfQuery(PreparedStatement statement,
                                      int index)
                                      throws SQLException
Bind parameter values needed by the LIMIT clause before original SELECT statement.

Parameters:
statement - Statement to which to bind limit parameter values.
index - Index from which to start binding.
Returns:
The number of parameter values bound.
Throws:
SQLException - Indicates problems binding parameter values.

bindLimitParametersAtEndOfQuery

int bindLimitParametersAtEndOfQuery(PreparedStatement statement,
                                    int index)
                                    throws SQLException
Bind parameter values needed by the LIMIT clause after original SELECT statement.

Parameters:
statement - Statement to which to bind limit parameter values.
index - Index from which to start binding.
Returns:
The number of parameter values bound.
Throws:
SQLException - Indicates problems binding parameter values.

setMaxRows

void setMaxRows(PreparedStatement statement)
                throws SQLException
Use JDBC API to limit the number of rows returned by the SQL query. Typically handlers that do not support LIMIT clause should implement this method.

Parameters:
statement - Statement which number of returned rows shall be limited.
Throws:
SQLException - Indicates problems while limiting maximum rows returned.


Copyright © 2001-2015 Red Hat, Inc. All Rights Reserved.