Class DefaultSqlPreparedQuery<E,R>

java.lang.Object
io.micronaut.data.runtime.operations.internal.query.DefaultBindableParametersPreparedQuery<E,R>
io.micronaut.data.runtime.operations.internal.sql.DefaultSqlPreparedQuery<E,R>
Type Parameters:
E - The entity type
R - The result type
All Implemented Interfaces:
io.micronaut.core.annotation.AnnotationMetadataProvider, io.micronaut.core.annotation.AnnotationSource, io.micronaut.core.attr.AttributeHolder, io.micronaut.core.naming.Named, io.micronaut.data.model.runtime.PagedQuery<E>, io.micronaut.data.model.runtime.PreparedDataOperation<R>, io.micronaut.data.model.runtime.PreparedQuery<E,R>, io.micronaut.data.model.runtime.StoredDataOperation<R>, io.micronaut.data.model.runtime.StoredQuery<E,R>, BindableParametersPreparedQuery<E,R>, BindableParametersStoredQuery<E,R>, PersistentEntityAwareQuery<E>, SqlPreparedQuery<E,R>, SqlStoredQuery<E,R>, DelegatePreparedQuery<E,R>, DelegateStoredQuery<E,R>

@Internal public class DefaultSqlPreparedQuery<E,R> extends DefaultBindableParametersPreparedQuery<E,R> implements SqlPreparedQuery<E,R>, DelegatePreparedQuery<E,R>
Implementation of SqlPreparedQuery.
Since:
3.5.0
  • Field Details

    • sqlStoredQuery

      protected final SqlStoredQuery<E,R> sqlStoredQuery
    • query

      protected String query
    • queryResultInfo

      protected final io.micronaut.data.model.runtime.QueryResultInfo queryResultInfo
  • Constructor Details

    • DefaultSqlPreparedQuery

      public DefaultSqlPreparedQuery(io.micronaut.data.model.runtime.PreparedQuery<E,R> preparedQuery)
    • DefaultSqlPreparedQuery

      public DefaultSqlPreparedQuery(io.micronaut.data.model.runtime.PreparedQuery<E,R> preparedQuery, SqlStoredQuery<E,R> sqlStoredQuery)
    • DefaultSqlPreparedQuery

      public DefaultSqlPreparedQuery(SqlStoredQuery<E,R> sqlStoredQuery)
  • Method Details

    • getPersistentEntity

      public io.micronaut.data.model.runtime.RuntimePersistentEntity<E> getPersistentEntity()
      Specified by:
      getPersistentEntity in interface PersistentEntityAwareQuery<E>
      Overrides:
      getPersistentEntity in class DefaultBindableParametersPreparedQuery<E,R>
      Returns:
      The persistent entity
    • getPreparedQueryDelegate

      public io.micronaut.data.model.runtime.PreparedQuery<E,R> getPreparedQueryDelegate()
      Specified by:
      getPreparedQueryDelegate in interface DelegatePreparedQuery<E,R>
      Overrides:
      getPreparedQueryDelegate in class DefaultBindableParametersPreparedQuery<E,R>
      Returns:
      The delegate
    • isExpandableQuery

      public boolean isExpandableQuery()
      Specified by:
      isExpandableQuery in interface SqlStoredQuery<E,R>
      Returns:
      true if query is expandable
    • getDialect

      public io.micronaut.data.model.query.builder.sql.Dialect getDialect()
      Description copied from interface: SqlStoredQuery
      Get dialect.
      Specified by:
      getDialect in interface SqlStoredQuery<E,R>
      Returns:
      dialect
    • getQueryBuilder

      public io.micronaut.data.model.query.builder.sql.SqlQueryBuilder getQueryBuilder()
      Specified by:
      getQueryBuilder in interface SqlStoredQuery<E,R>
      Returns:
      query builder for possible modification in the prepared query
    • getQuery

      public String getQuery()
      Specified by:
      getQuery in interface DelegatePreparedQuery<E,R>
      Specified by:
      getQuery in interface DelegateStoredQuery<E,R>
      Specified by:
      getQuery in interface io.micronaut.data.model.runtime.StoredQuery<E,R>
    • collectAutoPopulatedPreviousValues

      public Map<io.micronaut.data.model.runtime.QueryParameterBinding,Object> collectAutoPopulatedPreviousValues(E entity)
      Description copied from interface: SqlStoredQuery
      Collect auto-populated property values before pre-actions are triggered and property values are modified.
      Specified by:
      collectAutoPopulatedPreviousValues in interface SqlStoredQuery<E,R>
      Parameters:
      entity - The entity instance
      Returns:
      collected values
    • prepare

      public void prepare(E entity)
      Check if query need to be modified to expand parameters.
      Specified by:
      prepare in interface SqlPreparedQuery<E,R>
      Parameters:
      entity - The entity instance
    • getQueryParameterValueSize

      protected int getQueryParameterValueSize(io.micronaut.data.model.runtime.QueryParameterBinding parameter)
      Gets number of parameter values for the query parameter binding (used for IN for example).
      Parameters:
      parameter - the query binding parameter
      Returns:
      number of parameter values in query parameter binding
    • attachPageable

      public void attachPageable(io.micronaut.data.model.Pageable pageable, boolean isSingleResult)
      Description copied from interface: SqlPreparedQuery
      Modify the query according to the pageable.
      Specified by:
      attachPageable in interface SqlPreparedQuery<E,R>
      Parameters:
      pageable - The pageable
      isSingleResult - is single result
    • getQueryResultInfo

      public io.micronaut.data.model.runtime.QueryResultInfo getQueryResultInfo()
      Specified by:
      getQueryResultInfo in interface SqlPreparedQuery<E,R>
      Returns:
      the query result info
    • sizeOf

      protected int sizeOf(Object value)
      Compute the size of the given object.
      Parameters:
      value - The value
      Returns:
      The size