Package org.hibernate.dialect.pagination
Class FetchLimitHandler
java.lang.Object
org.hibernate.dialect.pagination.AbstractLimitHandler
org.hibernate.dialect.pagination.AbstractNoOffsetLimitHandler
org.hibernate.dialect.pagination.FetchLimitHandler
- All Implemented Interfaces:
LimitHandler
A
LimitHandler
for databases which support the ANSI
SQL standard syntax FETCH FIRST m ROWS ONLY
but not
OFFSET n ROWS
.-
Field Summary
FieldsFields inherited from class org.hibernate.dialect.pagination.AbstractLimitHandler
NO_LIMIT
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
Does the offset/limit clause come at the start of theSELECT
statement, or at the end of the query?protected String
protected String
The SQL fragment to insert, with a ? placeholder for the actual numerical limit.protected String
limitClause
(int jdbcParameterCount, ParameterMarkerStrategy parameterMarkerStrategy) boolean
Returns whetherLimitHandler.processSql(String, int, ParameterMarkerStrategy, QueryOptions)
mutates the state of this limit handler and needs to be called for certain other methods to work correctly.Methods inherited from class org.hibernate.dialect.pagination.AbstractNoOffsetLimitHandler
processSql, processSql, supportsLimit, supportsLimitOffset, supportsVariableLimit
Methods inherited from class org.hibernate.dialect.pagination.AbstractLimitHandler
bindLimitParameters, bindLimitParametersAtEndOfQuery, bindLimitParametersAtStartOfQuery, bindLimitParametersInReverseOrder, convertToFirstRowValue, forceLimitUsage, getFirstRow, getForUpdatePattern, getMaxOrLimit, hasFirstRow, hasMaxRows, insertAfterDistinct, insertAfterSelect, insertAtEnd, insertBeforeForUpdate, setMaxRows, supportsOffset, useMaxForLimit
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.hibernate.dialect.pagination.LimitHandler
getParameterPositionStart, processSql
-
Field Details
-
INSTANCE
-
-
Constructor Details
-
FetchLimitHandler
public FetchLimitHandler(boolean variableLimit)
-
-
Method Details
-
limitClause
Description copied from class:AbstractNoOffsetLimitHandler
The SQL fragment to insert, with a ? placeholder for the actual numerical limit.- Specified by:
limitClause
in classAbstractNoOffsetLimitHandler
-
limitClause
protected String limitClause(int jdbcParameterCount, ParameterMarkerStrategy parameterMarkerStrategy) - Overrides:
limitClause
in classAbstractNoOffsetLimitHandler
-
insert
- Specified by:
insert
in classAbstractNoOffsetLimitHandler
-
bindLimitParametersFirst
public boolean bindLimitParametersFirst()Description copied from class:AbstractLimitHandler
Does the offset/limit clause come at the start of theSELECT
statement, or at the end of the query?- Specified by:
bindLimitParametersFirst
in classAbstractNoOffsetLimitHandler
- Returns:
- true if limit parameters come before other parameters
-
processSqlMutatesState
public boolean processSqlMutatesState()Description copied from interface:LimitHandler
Returns whetherLimitHandler.processSql(String, int, ParameterMarkerStrategy, QueryOptions)
mutates the state of this limit handler and needs to be called for certain other methods to work correctly.
-