Interface QueryOptions

All Known Subinterfaces:
MutableQueryOptions
All Known Implementing Classes:
DelegatingQueryOptions, QueryOptionsAdapter, SqlOmittingQueryOptions

public interface QueryOptions
Encapsulates options for the execution of a HQL/Criteria/native query
  • Field Details

    • NONE

      static final QueryOptions NONE
      Provide singleton access for frequently needed options:
    • READ_WRITE

      static final QueryOptions READ_WRITE
    • READ_ONLY

      static final QueryOptions READ_ONLY
  • Method Details

    • getTimeout

      Integer getTimeout()
      The timeout to apply to the query. May also be defined at the transaction level using Transaction.getTimeout()
    • getFlushMode

      FlushMode getFlushMode()
      The flush mode to use for the query execution
    • isReadOnly

      Boolean isReadOnly()
      Should entities returned from the query be marked read-only.
    • getAppliedGraph

      AppliedGraph getAppliedGraph()
      JPA EntityGraph explicitly applied to the query.
    • getTupleTransformer

      @Nullable TupleTransformer<?> getTupleTransformer()
      Transformer applied to the query to transform the structure of each "row" in the results
    • getResultListTransformer

      @Nullable ResultListTransformer<?> getResultListTransformer()
      Transformer applied to the query to transform the structure of the overall results
    • isResultCachingEnabled

      Boolean isResultCachingEnabled()
      Should results from the query be cached?
      See Also:
    • getCacheRetrieveMode

      CacheRetrieveMode getCacheRetrieveMode()
      Controls whether query results are read from the cache. No effect unless isResultCachingEnabled() returns true
      See Also:
    • getCacheStoreMode

      CacheStoreMode getCacheStoreMode()
      Controls whether query results are put into the cache. No effect unless isResultCachingEnabled() returns true
      See Also:
    • getCacheMode

      default CacheMode getCacheMode()
    • getResultCacheRegionName

      String getResultCacheRegionName()
      The query cache region in which the results should be cached. No effect unless isResultCachingEnabled() returns true
    • getQueryPlanCachingEnabled

      Boolean getQueryPlanCachingEnabled()
      Should the query plan of the query be cached?
    • isLimitInMemoryEnabled

      default Boolean isLimitInMemoryEnabled()
      Whether top-level HQL/criteria pagination should be applied in memory instead of by SQL.
    • getEnabledFetchProfiles

      Set<String> getEnabledFetchProfiles()
      The explicitly enabled profiles for this query
    • getDisabledFetchProfiles

      Set<String> getDisabledFetchProfiles()
      The explicitly disabled profiles for this query
    • getLockOptions

      LockOptions getLockOptions()
      Describes the locking to apply to the query results
    • getComment

      String getComment()
      The SQL comment to apply to the interpreted SQL query, for dialects which support SQL comments
    • getDatabaseHints

      List<String> getDatabaseHints()
      Hints to apply to the interpreted SQL query
    • getFetchSize

      Integer getFetchSize()
      The fetch size to be applied to the JDBC query.
      See Also:
    • getLimit

      Limit getLimit()
      The limit to the query results. May also be accessed via getFirstRow() and getMaxRows().
    • peekOriginalLimit

      default Limit peekOriginalLimit()
      The original Limit as set by the application, before any wrapper (e.g. SqlOmittingQueryOptions or the scroll execution context) hid it from getLimit(). Used by runtime parameter binders that the SQM-to-SQL converter pushed into the SQL AST so they can bind the original value even when getLimit() has been intentionally suppressed for SQL rendering.
    • getFirstRow

      default Integer getFirstRow()
      The first row from the results to return
      See Also:
    • getMaxRows

      default Integer getMaxRows()
      The maximum number of rows to return from the results
      See Also:
    • getEffectiveLimit

      default Limit getEffectiveLimit()
      Determine the effective paging limit to apply to the query. If the application did not explicitly specify paging limits, Limit.NONE is returned
      See Also:
    • hasLimit

      default boolean hasLimit()
      Did the application explicitly request paging limits?
      See Also:
    • getUniqueSemantic

      default ListResultsConsumer.UniqueSemantic getUniqueSemantic()
    • isScrollExecution

      default boolean isScrollExecution()
      Whether this execution goes through scroll() / getResultStream() and therefore needs SQL row ordering stable enough for scroll-style result grouping.