Interface Stage.Query<R>

  • Enclosing interface:
    Stage

    public static interface Stage.Query<R>
    A non-blocking counterpart to the Hibernate Query interface, allowing reactive execution of HQL and JPQL queries.

    The semantics of operations on this interface are identical to the semantics of the similarly-named operations of Query, except that the operations are performed asynchronously, returning a CompletionStage without blocking the calling thread.

    Note that TemporalType is not supported as an argument for parameter bindings, and so parameters of type Date or Calendar should not be used. Instead, datetime types from java.time should be used as parameters.

    See Also:
    Query
    • Method Detail

      • setParameter

        Stage.Query<R> setParameter​(int parameter,
                                    Object argument)
        Set the value of an ordinal parameter. Ordinal parameters are numbered from 1, and are specified in the query using placeholder tokens of form ?1, ?2, etc.
        Parameters:
        parameter - an integer identifying the ordinal parameter
        argument - the argument to set
      • setParameter

        Stage.Query<R> setParameter​(String parameter,
                                    Object argument)
        Set the value of a named parameter. Named parameters are specified in the query using placeholder tokens of form :name.
        Parameters:
        parameter - the name of the parameter
        argument - the argument to set
      • setMaxResults

        Stage.Query<R> setMaxResults​(int maxResults)
        Set the maximum number of results that may be returned by this query when executed.
      • setFirstResult

        Stage.Query<R> setFirstResult​(int firstResult)
        Set the position of the first result that may be returned by this query when executed, where the results are numbered from 0.
      • getMaxResults

        int getMaxResults()
        Returns:
        the maximum number results, or Integer.MAX_VALUE if not set
      • getFirstResult

        int getFirstResult()
        Returns:
        the first result, or 0 if not set
      • getSingleResult

        CompletionStage<R> getSingleResult()
        Asynchronously execute this query, returning a single row that matches the query, throwing an exception if the query returns zero rows or more than one matching row. If the query has multiple results per row, the results are returned in an instance of Object[].
        Returns:
        the single resulting row
        Throws:
        NoResultException - if there is no result
        NonUniqueResultException - if there are multiple results
        See Also:
        Query.getSingleResult()
      • getSingleResultOrNull

        CompletionStage<R> getSingleResultOrNull()
        Asynchronously execute this query, returning a single row that matches the query, or null if the query returns no results, throwing an exception if the query returns more than one matching row. If the query has multiple results per row, the results are returned in an instance of Object[].
        Returns:
        the single resulting row or null
        Throws:
        NonUniqueResultException - if there are multiple results
        See Also:
        getSingleResult()
      • getResultList

        CompletionStage<List<R>> getResultList()
        Asynchronously execute this query, returning the query results as a List, via a CompletionStage. If the query has multiple results per row, the results are returned in an instance of Object[].
        Returns:
        the resulting rows as a List
        See Also:
        Query.getResultList()
      • executeUpdate

        CompletionStage<Integer> executeUpdate()
        Asynchronously execute this delete, update, or insert query, returning the updated row count.
        Returns:
        the row count as an integer
        See Also:
        Query.executeUpdate()
      • setReadOnly

        Stage.Query<R> setReadOnly​(boolean readOnly)
        Set the read-only/modifiable mode for entities and proxies loaded by this Query. This setting overrides the default setting for the persistence context.
        See Also:
        Stage.Session.setDefaultReadOnly(boolean)
      • setComment

        Stage.Query<R> setComment​(String comment)
        Set the comment for this query. This comment will be prepended to the SQL query sent to the database.
        Parameters:
        comment - The human-readable comment
      • setCacheable

        Stage.Query<R> setCacheable​(boolean cacheable)
        Enable or disable caching of this query result set in the second-level query cache.
        Parameters:
        cacheable - true if this query is cacheable
      • isCacheable

        boolean isCacheable()
        Returns:
        true if this query is cacheable
        See Also:
        setCacheable(boolean)
      • setCacheRegion

        Stage.Query<R> setCacheRegion​(String cacheRegion)
        Set the name of the cache region in which to store this query result set if caching is enabled.
        Parameters:
        cacheRegion - the name of the cache region