Class OffsetFetchLimitHandler
java.lang.Object
org.hibernate.dialect.pagination.spi.AbstractLimitHandler
org.hibernate.dialect.pagination.spi.OffsetFetchLimitHandler
- All Implemented Interfaces:
LimitHandler
- Direct Known Subclasses:
DB2LimitHandler, SQLServer2012LimitHandler
A
LimitHandler for databases which support the
ANSI SQL standard syntax FETCH FIRST m ROWS ONLY
and OFFSET n ROWS FETCH NEXT m ROWS ONLY.- Since:
- 8.0
-
Field Summary
FieldsFields inherited from class AbstractLimitHandler
NO_LIMIT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidbegin(String sql, StringBuilder offsetFetch, boolean hasFirstRow, boolean hasMaxRows) protected StringprocessSql(PaginationRequest request) Apply pagination to a complete SQL string.protected booleanfinal booleanDoes this handler support limiting query results?booleanDoes this handler support offsetting query results without also specifying a limit?final booleanDoes this handler support bind variables (JDBC prepared statement parameters) for its limit/offset?Methods inherited from class AbstractLimitHandler
bindLimitParametersFirst, bindLimitParametersInReverseOrder, bindLimitParameterValues, convertToFirstRowValue, forceLimitUsage, getFirstRow, getForUpdatePattern, getMaxOrLimit, hasFirstRow, hasMaxRows, insertAfterDistinct, insertAfterSelect, insertAtEnd, insertBeforeForUpdate, jdbcInstructions, jdbcMaxRows, parameterPositionStart, result, rowsToSkip, supportsLimitOffset, useMaxForLimit
-
Field Details
-
INSTANCE
-
-
Constructor Details
-
OffsetFetchLimitHandler
-
-
Method Details
-
processSql
Description copied from interface:LimitHandlerApply pagination to a complete SQL string.
Return
PaginationResult.unchanged(String)when the request needs no SQL or JDBC pagination. The returned JDBC instructions must describe every pagination parameter introduced by the rewritten SQL.- Specified by:
processSqlin interfaceLimitHandler- Overrides:
processSqlin classAbstractLimitHandler- Parameters:
request- immutable completed-SQL pagination input- Returns:
- rewritten SQL and the JDBC work needed to execute it
-
begin
@SPI(IMPLEMENT) protected void begin(String sql, StringBuilder offsetFetch, boolean hasFirstRow, boolean hasMaxRows) -
insert
-
supportsLimit
public final boolean supportsLimit()Description copied from interface:LimitHandlerDoes this handler support limiting query results?- Specified by:
supportsLimitin interfaceLimitHandler- Overrides:
supportsLimitin classAbstractLimitHandler- Returns:
- True if this handler supports limit alone.
-
supportsOffset
public boolean supportsOffset()Description copied from interface:LimitHandlerDoes this handler support offsetting query results without also specifying a limit?- Specified by:
supportsOffsetin interfaceLimitHandler- Overrides:
supportsOffsetin classAbstractLimitHandler- Returns:
- True if this handler supports offset alone.
-
supportsVariableLimit
public final boolean supportsVariableLimit()Description copied from class:AbstractLimitHandlerDoes this handler support bind variables (JDBC prepared statement parameters) for its limit/offset?- Overrides:
supportsVariableLimitin classAbstractLimitHandler- Returns:
- true if bind variables can be used
-
renderOffsetRowsKeyword
-