Package org.hibernate.dialect.pagination
Class TopLimitHandler
java.lang.Object
org.hibernate.dialect.pagination.AbstractLimitHandler
org.hibernate.dialect.pagination.AbstractNoOffsetLimitHandler
org.hibernate.dialect.pagination.TopLimitHandler
- All Implemented Interfaces:
LimitHandler
A
LimitHandler
for Transact SQL and similar
databases which support the syntax SELECT TOP n
.
Note that this syntax does not allow specification of
an offset.-
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?int
getParameterPositionStart
(Limit limit) Returns the position at which to start binding parameters afterLimitHandler.bindLimitParametersAtStartOfQuery(Limit, PreparedStatement, int)
.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
processSql
-
Field Details
-
INSTANCE
-
-
Constructor Details
-
TopLimitHandler
public TopLimitHandler(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. -
getParameterPositionStart
Description copied from interface:LimitHandler
Returns the position at which to start binding parameters afterLimitHandler.bindLimitParametersAtStartOfQuery(Limit, PreparedStatement, int)
.
-