Interface JdbcValues

All Known Implementing Classes:
AbstractJdbcValues, JdbcValuesCacheHit, JdbcValuesResultSetImpl

public interface JdbcValues
Provides unified access to query results (JDBC values - see RowProcessingState.getJdbcValue(org.hibernate.sql.ast.spi.SqlSelection) whether they come from query cache or ResultSet. Implementations also manage any cache puts if required.
  • Method Details

    • getValuesMapping

      JdbcValuesMapping getValuesMapping()
    • usesFollowOnLocking

      boolean usesFollowOnLocking()
    • next

      boolean next(RowProcessingState rowProcessingState)
      Advances the "cursor position" and returns a boolean indicating whether there is a row available to read via getCurrentRowValue(int).
      Returns:
      true if there are results
    • previous

      boolean previous(RowProcessingState rowProcessingState)
      Advances the "cursor position" in reverse and returns a boolean indicating whether there is a row available to read via getCurrentRowValue(int).
      Returns:
      true if there are results available
    • scroll

      boolean scroll(int numberOfRows, RowProcessingState rowProcessingState)
      Advances the "cursor position" the indicated number of rows and returns a boolean indicating whether there is a row available to read via getCurrentRowValue(int).
      Parameters:
      numberOfRows - The number of rows to advance. This can also be negative meaning to move in reverse
      Returns:
      true if there are results available
    • position

      boolean position(int position, RowProcessingState rowProcessingState)
      Moves the "cursor position" to the specified position
    • getPosition

      int getPosition()
    • isBeforeFirst

      boolean isBeforeFirst(RowProcessingState rowProcessingState)
    • beforeFirst

      void beforeFirst(RowProcessingState rowProcessingState)
    • isFirst

      boolean isFirst(RowProcessingState rowProcessingState)
    • first

      boolean first(RowProcessingState rowProcessingState)
    • isAfterLast

      boolean isAfterLast(RowProcessingState rowProcessingState)
    • afterLast

      void afterLast(RowProcessingState rowProcessingState)
    • isLast

      boolean isLast(RowProcessingState rowProcessingState)
    • last

      boolean last(RowProcessingState rowProcessingState)
    • getCurrentRowValue

      Object getCurrentRowValue(int valueIndex)
      Get the JDBC value at the given index for the row currently positioned at within this source.
      Returns:
      The current row's JDBC values, or null if the position is beyond the end of the available results.
    • finishRowProcessing

      void finishRowProcessing(RowProcessingState rowProcessingState, boolean wasAdded)
    • finishUp

      void finishUp(SharedSessionContractImplementor session)
      Give implementations a chance to finish processing
    • setFetchSize

      void setFetchSize(int fetchSize)
    • getResultCountEstimate

      int getResultCountEstimate()
      The estimate for the amount of results that can be expected for pre-sizing collections. May return zero or negative values if the count can not be reasonably estimated.
      Since:
      6.6