boolean result = getResultSet().absolute(rowNumber); prepareCurrentRow(result); return result; } catch (SQLException sqle) { throw getSession().getFactory().getSQLExceptionHelper().convert( sqle, "could not advance using absolute()" ); } } private void prepareCurrentRow(boolean underlyingScrollSuccessful) throws HibernateException { if (!underlyingScrollSuccessful) { currentRow = null; return; } Object result = getLoader().loadSingleRow( getResultSet(), getSession(), getQueryParameters(), false ); if ( result != null && result.getClass().isArray() ) { currentRow = (Object[]) result; } else { currentRow = new Object[] { result }; } if ( getHolderInstantiator() != null ) { currentRow = new Object[] { getHolderInstantiator().instantiate(currentRow) }; } afterScrollOperation(); } }