Package org.hibernate
Interface ScrollableResults<R>
- All Superinterfaces:
AutoCloseable
- All Known Subinterfaces:
ScrollableResultsImplementor<R>
- All Known Implementing Classes:
AbstractScrollableResults,EmptyScrollableResults,FetchingScrollableResultsImpl,ScrollableResultsImpl
A result iterator that allows moving around within the results by
arbitrary increments.
- See Also:
- API Note:
- The
Query/ScrollableResultspattern is very similar to the JDBCPreparedStatement/ResultSetpattern and so the semantics of methods of this interface are similar to the similarly-named methods ofResultSet.
-
Method Summary
Modifier and TypeMethodDescriptionvoidGo to a location just after the last result.voidGo to a location just before first result.voidclose()Release resources immediately.booleanfirst()Go to the first result.get()Get the current row of results.intThe current position within the query results.intDeprecated, for removal: This API element is subject to removal in a future version.booleanisClosed()booleanisFirst()Is this the first result?booleanisLast()Is this the last result?booleanlast()Go to the last result.booleannext()Advance to the next result.booleanposition(int position) Moves the result cursor to the specified position.booleanprevious()Retreat to the previous result.booleanscroll(int positions) Scroll the specified number of positions from the current position.voidsetFetchSize(int fetchSize) Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed.booleansetRowNumber(int rowNumber) Deprecated, for removal: This API element is subject to removal in a future version.Useposition(int)
-
Method Details
-
get
R get()Get the current row of results.- Returns:
- The array of results
-
close
void close()Release resources immediately.- Specified by:
closein interfaceAutoCloseable
-
isClosed
boolean isClosed()- Returns:
trueifclose()was already called
-
next
boolean next()Advance to the next result.- Returns:
trueif there is another result
-
previous
boolean previous()Retreat to the previous result.- Returns:
trueif there is a previous result
-
scroll
boolean scroll(int positions) Scroll the specified number of positions from the current position.- Parameters:
positions- a positive (forward) or negative (backward) number of positions- Returns:
trueif there is a result at the new location
-
position
boolean position(int position) Moves the result cursor to the specified position. The index may be a positive value, and the position may be reached by counting forward from the first result at position1, or it may be a negative value, so that the position may be reached by counting backward from the last result at position-1.- Parameters:
position- an absolute positive (from the start) or negative (from the end) position within the query results- Returns:
trueif there is a result at the new location
-
getPosition
int getPosition()The current position within the query results. The first query result, if any, is at position1. An empty or newly-created instance has position0.- Returns:
- the current position, a positive integer index
starting at
1, or0if this instance is empty or newly-created - Since:
- 7.0
-
last
boolean last()Go to the last result.- Returns:
trueif there are any results
-
first
boolean first()Go to the first result.- Returns:
trueif there are any results
-
beforeFirst
void beforeFirst()Go to a location just before first result.This is the location of the cursor on a newly returned scrollable result.
-
afterLast
void afterLast()Go to a location just after the last result. -
isFirst
boolean isFirst()Is this the first result?- Returns:
trueif this is the first row of results, otherwisefalse
-
isLast
boolean isLast()Is this the last result?- Returns:
trueif this is the last row of results.
-
getRowNumber
Deprecated, for removal: This API element is subject to removal in a future version.UsegetPosition()Get the current position in the results, with the first position labelled as row number0. That is, this operation returnsposition-1.- Returns:
- The current position number, numbered from
0;-1indicates that there is no current row
-
setRowNumber
Deprecated, for removal: This API element is subject to removal in a future version.Useposition(int)Set the current position in the result set, with the first position labelled as row number1, and the last position labelled as row number-1. Results may be numbered from the first result (using a positive position) or backward from the last result (using a negative position).- Parameters:
rowNumber- the row number. A positive number indicates a value numbered from the first row; a negative number indicates a value numbered from the last row.- Returns:
- true if there is a row at that row number
-
setFetchSize
void setFetchSize(int fetchSize) Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed. If0, the JDBC driver's default setting will be used.- Since:
- 6.1.2
- See Also:
-
getPosition()