Interface JdbcSelect

All Superinterfaces:
CacheableJdbcOperation, JdbcOperation, PrimaryOperation

@Incubating(since="6.0", group="sql-execution") @SPI({USE,SUPPLY}) public interface JdbcSelect extends PrimaryOperation, CacheableJdbcOperation

Primary selection operation performed through JDBC.

Create this operation with JdbcOperations.select(SqlAstTranslationRequest.Select) when implementing a custom SQL AST translator. Do not implement this interface directly.

Since:
8.0
See Also:
  • Method Details

    • getJdbcValuesMappingProducer

      JdbcValuesMappingProducer getJdbcValuesMappingProducer()
    • getLockingApplication

      JdbcLockingApplication getLockingApplication()

      Which stage owns pessimistic locking for this execution plan.

      Consumers must honor this disposition instead of inferring locking from the SQL string.

      Since:
      8.0
    • getPaginationApplication

      JdbcPaginationApplication getPaginationApplication()

      Which stage owns pagination for this execution plan.

      Consumers must honor this disposition instead of inferring pagination from limit parameters or the SQL string.

      Since:
      8.0
    • usesLimitParameters

      boolean usesLimitParameters()
    • getLimitParameter

      JdbcParameter getLimitParameter()
    • getRowsToSkip

      int getRowsToSkip()
    • getMaxRows

      int getMaxRows()
    • getLoadedValuesCollectorFactory

      @Nullable org.hibernate.sql.exec.internal.lock.LoadedValuesCollectorFactory getLoadedValuesCollectorFactory()
      Returns a Factory used to create a collector of values loaded to be applied during the processing of the selection's results. May be null.
    • performPreActions

      void performPreActions(StatementAccess jdbcStatementAccess, Connection jdbcConnection, ExecutionContext executionContext)
      Perform any pre-actions.

      Generally the pre-actions should use the passed jdbcStatementAccess to interact with the database, although the jdbcConnection can be used to create specialized statements, access the database metadata, etc.

      Parameters:
      jdbcStatementAccess - Access to a JDBC Statement object which may be used to perform the action.
      jdbcConnection - The JDBC Connection.
      executionContext - Access to contextual information useful while executing.
    • performPostActions

      void performPostActions(boolean succeeded, StatementAccess jdbcStatementAccess, Connection jdbcConnection, ExecutionContext executionContext, LoadedValuesCollector loadedValuesCollector)
      Perform any post-actions.

      Generally the post-actions should use the passed jdbcStatementAccess to interact with the database, although the jdbcConnection can be used to create specialized statements, access the database metadata, etc.

      Parameters:
      succeeded - Whether the primary operation succeeded.
      jdbcStatementAccess - Access to a JDBC Statement object which may be used to perform the action.
      jdbcConnection - The JDBC Connection.
      executionContext - Access to contextual information useful while executing.
      loadedValuesCollector - Access to the collector of values loaded as part of the primary operation. This is useful for post-actions that need to know what was loaded in order to perform their work.