Class AbstractJdbcQuery

java.lang.Object
org.springframework.data.jdbc.repository.query.AbstractJdbcQuery
All Implemented Interfaces:
org.springframework.data.repository.query.RepositoryQuery
Direct Known Subclasses:
PartTreeJdbcQuery, StringBasedJdbcQuery

public abstract class AbstractJdbcQuery extends Object implements org.springframework.data.repository.query.RepositoryQuery
Base class for queries based on a repository method. It holds the infrastructure for executing a query and knows how to execute a query based on the return type of the method. How to construct the query is left to subclasses.
Since:
2.0
Author:
Jens Schauder, Kazuki Shimizu, Oliver Gierke, Maciej Walkowiak, Mark Paluch, Dennis Effing
  • Method Details

    • getQueryMethod

      public JdbcQueryMethod getQueryMethod()
      Specified by:
      getQueryMethod in interface org.springframework.data.repository.query.RepositoryQuery
    • getQueryExecution

      protected org.springframework.data.jdbc.repository.query.JdbcQueryExecution<?> getQueryExecution(JdbcQueryMethod queryMethod, @Nullable org.springframework.jdbc.core.ResultSetExtractor<?> extractor, org.springframework.jdbc.core.RowMapper<?> rowMapper)
      Creates a JdbcQueryExecution given JdbcQueryMethod, ResultSetExtractor an RowMapper. Prefers the given ResultSetExtractor over RowMapper.
      Parameters:
      queryMethod - must not be null.
      extractor - must not be null.
      rowMapper - must not be null.
      Returns:
      a JdbcQueryExecution appropriate for queryMethod. Guaranteed to be not null.
    • resolveTypeToRead

      protected Class<?> resolveTypeToRead(org.springframework.data.repository.query.ResultProcessor resultProcessor)
      Obtain the result type to read from ResultProcessor.
      Parameters:
      resultProcessor - the ResultProcessor used to determine the result type. Must not be null.
      Returns:
      the type that should get loaded from the database before it gets converted into the actual return type of a method. Guaranteed to be not null.