Interface Query<T>

All Superinterfaces:
Iterable<T>, Query<T>

public interface Query<T> extends Query<T>
An immutable object representing both the query and the result. The result is obtained lazily when one of the methods in this interface is executed first time. The query is executed only once. Further calls will just return the previously cached results. If you intend to re-execute the query to obtain fresh data you need to build another instance using a QueryBuilder.
Since:
6.0
Author:
anistor@redhat.com
  • Method Details

    • execute

      QueryResult<T> execute()
      Description copied from interface: Query
      Executes the query (a SELECT statement). Subsequent invocations cause the query to be re-executed.

      Executing a DELETE is also allowed. In this case, no results will be returned, but the number of affected entries will be returned as the hit count in the QueryResult.

      Specified by:
      execute in interface Query<T>
      Returns:
      QueryResult with the results.
    • getResultSize

      @Deprecated int getResultSize()
      Deprecated.
      since 10.1. This will be removed in 12. It's closest replacement is QueryResult.hitCount() which returns an optional long.
      Gets the total number of results matching the query, ignoring pagination (startOffset, maxResults).
      Returns:
      total number of results.
    • getProjection

      @Deprecated String[] getProjection()
      Deprecated.
      since 11.0. This method will be removed in next major version. To find out if a query uses projections use Query.hasProjections()
      Returns:
      the values for query projections or null if the query does not have projections.
    • startOffset

      Query<T> startOffset(long startOffset)
      Specified by:
      startOffset in interface Query<T>
    • maxResults

      Query<T> maxResults(int maxResults)
      Specified by:
      maxResults in interface Query<T>
    • hitCountAccuracy

      Query<T> hitCountAccuracy(int hitCountAccuracy)
      Description copied from interface: Query
      Limits the required accuracy of the hit count for the indexed queries to an upper-bound. Setting the hit-count-accuracy could improve the performance of queries targeting large data sets.
      Specified by:
      hitCountAccuracy in interface Query<T>
      Parameters:
      hitCountAccuracy - The value to apply
      Returns:
      this, for method chaining
    • setParameter

      Query<T> setParameter(String paramName, Object paramValue)
      Description copied from interface: Query
      Sets the value of a named parameter.
      Specified by:
      setParameter in interface Query<T>
      Parameters:
      paramName - the parameters name (non-empty and not null)
      paramValue - a non-null value
      Returns:
      itself
    • setParameters

      Query<T> setParameters(Map<String,Object> paramValues)
      Description copied from interface: Query
      Sets multiple named parameters at once. Parameter names cannot be empty or null. Parameter values must not be null.
      Specified by:
      setParameters in interface Query<T>
      Parameters:
      paramValues - a Map of parameters
      Returns:
      itself
    • timeout

      Query<T> timeout(long timeout, TimeUnit timeUnit)
      Description copied from interface: Query
      Set the timeout for this query. If the query hasn't finished processing before the timeout, a timeout will be thrown. For queries that use the index, the timeout is handled on a best effort basis, and the supplied time is rounded to the nearest millisecond.
      Specified by:
      timeout in interface Query<T>