Package org.hibernate.dialect.pagination
Class LegacyDB2LimitHandler
- java.lang.Object
-
- org.hibernate.dialect.pagination.AbstractLimitHandler
-
- org.hibernate.dialect.pagination.LegacyDB2LimitHandler
-
- All Implemented Interfaces:
LimitHandler
public class LegacyDB2LimitHandler extends AbstractLimitHandler
ALimitHandlerfor DB2. UsesFETCH FIRST n ROWS ONLY, together withROWNUMBER()when there is an offset. (DB2 does not support the ANSI syntaxOFFSET n ROWS.)
-
-
Field Summary
Fields Modifier and Type Field Description static LegacyDB2LimitHandlerINSTANCE-
Fields inherited from class org.hibernate.dialect.pagination.AbstractLimitHandler
NO_LIMIT
-
-
Constructor Summary
Constructors Constructor Description LegacyDB2LimitHandler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringprocessSql(String sql, Limit limit)booleansupportsLimit()Does this handler support limiting query results?booleansupportsVariableLimit()Does this handler support bind variables (JDBC prepared statement parameters) for its limit/offset?booleanuseMaxForLimit()Does the limit clause expect the number of the last row, or the "page size", the maximum number of rows we want to receive? Hibernate'sQuery.setMaxResults(int)accepts the page size, so the number of the last row is obtained by adding the number of the first row, which is one greater thanQuery.setFirstResult(int).-
Methods inherited from class org.hibernate.dialect.pagination.AbstractLimitHandler
bindLimitParameters, bindLimitParametersAtEndOfQuery, bindLimitParametersAtStartOfQuery, bindLimitParametersFirst, bindLimitParametersInReverseOrder, convertToFirstRowValue, forceLimitUsage, getFirstRow, getForUpdatePattern, getMaxOrLimit, hasFirstRow, hasMaxRows, insertAfterDistinct, insertAfterSelect, insertAtEnd, insertBeforeForUpdate, setMaxRows, supportsLimitOffset, supportsOffset
-
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 Detail
-
INSTANCE
public static final LegacyDB2LimitHandler INSTANCE
-
-
Method Detail
-
processSql
public String processSql(String sql, Limit limit)
- Specified by:
processSqlin interfaceLimitHandler- Overrides:
processSqlin classAbstractLimitHandler
-
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.
-
useMaxForLimit
public final boolean useMaxForLimit()
Description copied from class:AbstractLimitHandlerDoes the limit clause expect the number of the last row, or the "page size", the maximum number of rows we want to receive? Hibernate'sQuery.setMaxResults(int)accepts the page size, so the number of the last row is obtained by adding the number of the first row, which is one greater thanQuery.setFirstResult(int).- Overrides:
useMaxForLimitin classAbstractLimitHandler- Returns:
- true if the limit clause expects the number of the last row, false if it expects the page size
-
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
-
-