Package org.hibernate.dialect.pagination
Class LegacyOracleLimitHandler
- java.lang.Object
-
- org.hibernate.dialect.pagination.AbstractLimitHandler
-
- org.hibernate.dialect.pagination.LegacyOracleLimitHandler
-
- All Implemented Interfaces:
LimitHandler
public class LegacyOracleLimitHandler extends AbstractLimitHandler
ALimitHandlerfor Oracle prior to 12c, which usesROWNUM.
-
-
Field Summary
-
Fields inherited from class org.hibernate.dialect.pagination.AbstractLimitHandler
NO_LIMIT
-
-
Constructor Summary
Constructors Constructor Description LegacyOracleLimitHandler(DatabaseVersion version)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanbindLimitParametersInReverseOrder()Usually, the offset comes before the limit, but occasionally the offset is specified after the limit.StringprocessSql(String sql, Limit limit)booleansupportsLimit()Does this handler support limiting query results?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, convertToFirstRowValue, forceLimitUsage, getFirstRow, getForUpdatePattern, getMaxOrLimit, hasFirstRow, hasMaxRows, insertAfterDistinct, insertAfterSelect, insertAtEnd, insertBeforeForUpdate, setMaxRows, supportsLimitOffset, supportsOffset, supportsVariableLimit
-
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
-
-
-
-
Constructor Detail
-
LegacyOracleLimitHandler
public LegacyOracleLimitHandler(DatabaseVersion version)
-
-
Method Detail
-
processSql
public String processSql(String sql, Limit limit)
- Specified by:
processSqlin interfaceLimitHandler- Overrides:
processSqlin classAbstractLimitHandler
-
supportsLimit
public 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.
-
bindLimitParametersInReverseOrder
public boolean bindLimitParametersInReverseOrder()
Description copied from class:AbstractLimitHandlerUsually, the offset comes before the limit, but occasionally the offset is specified after the limit. Does this dialect require us to bind the parameters in reverse order?- Overrides:
bindLimitParametersInReverseOrderin classAbstractLimitHandler- Returns:
- true if the correct order is limit then offset
-
useMaxForLimit
public 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
-
-