Package org.hibernate.reactive.stage
Interface Stage.Query<R>
-
- Enclosing interface:
- Stage
public static interface Stage.Query<R>
A non-blocking counterpart to the HibernateQuery
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 aCompletionStage
without blocking the calling thread.Note that
TemporalType
is not supported as an argument for parameter bindings, and so parameters of typeDate
orCalendar
should not be used. Instead, datetime types fromjava.time
should be used as parameters.- See Also:
Query
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description CompletionStage<Integer>
executeUpdate()
Asynchronously execute this delete, update, or insert query, returning the updated row count.CacheMode
getCacheMode()
Obtain theCacheMode
in effect for this query.String
getCacheRegion()
int
getFirstResult()
FlushMode
getFlushMode()
Obtain theFlushMode
in effect for this query.int
getMaxResults()
CompletionStage<List<R>>
getResultList()
Asynchronously execute this query, returning the query results as aList
, via aCompletionStage
.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.CompletionStage<R>
getSingleResultOrNull()
Asynchronously execute this query, returning a single row that matches the query, ornull
if the query returns no results, throwing an exception if the query returns more than one matching row.boolean
isCacheable()
boolean
isReadOnly()
Stage.Query<R>
setCacheable(boolean cacheable)
Enable or disable caching of this query result set in the second-level query cache.Stage.Query<R>
setCacheMode(CacheMode cacheMode)
Set the currentCacheMode
in effect while this query is being executed.Stage.Query<R>
setCacheRegion(String cacheRegion)
Set the name of the cache region in which to store this query result set ifcaching is enabled
.default Stage.Query<R>
setCacheRetrieveMode(CacheRetrieveMode cacheRetrieveMode)
Set the currentCacheRetrieveMode
in effect while this query is being executed.default Stage.Query<R>
setCacheStoreMode(CacheStoreMode cacheStoreMode)
Set the currentCacheStoreMode
in effect while this query is being executed.Stage.Query<R>
setComment(String comment)
Set the comment for this query.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.default Stage.Query<R>
setFlushMode(FlushModeType flushModeType)
Set the currentFlushModeType
in effect while this query is being executed.Stage.Query<R>
setFlushMode(FlushMode flushMode)
Set the currentFlushMode
in effect while this query is being executed.default Stage.Query<R>
setLockMode(String alias, LockModeType lockModeType)
Set theLockModeType
to use for specified alias (as defined in the query'sfrom
clause).Stage.Query<R>
setLockMode(String alias, LockMode lockMode)
Set theLockMode
to use for specified alias (as defined in the query'sfrom
clause).default Stage.Query<R>
setLockMode(LockModeType lockModeType)
Set theLockModeType
to use for the whole query.Stage.Query<R>
setLockMode(LockMode lockMode)
Set theLockMode
to use for the whole query.Stage.Query<R>
setMaxResults(int maxResults)
Set the maximum number of results that may be returned by this query when executed.Stage.Query<R>
setParameter(int parameter, Object argument)
Set the value of an ordinal parameter.Stage.Query<R>
setParameter(String parameter, Object argument)
Set the value of a named parameter.<T> Stage.Query<R>
setParameter(Parameter<T> parameter, T argument)
Set the value of a typed parameter.Stage.Query<R>
setPlan(EntityGraph<R> entityGraph)
Set theEntityGraph
that will be used as a fetch plan for the root entity returned by this query.Stage.Query<R>
setReadOnly(boolean readOnly)
Set the read-only/modifiable mode for entities and proxies loaded by this 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 parameterargument
- 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 parameterargument
- the argument to set
-
setParameter
<T> Stage.Query<R> setParameter(Parameter<T> parameter, T argument)
Set the value of a typed parameter. Typed parameters are obtained from the JPACriteriaBuilder
, which may itself be obtained by callingStage.SessionFactory.getCriteriaBuilder()
.- Parameters:
parameter
- the parameterargument
- the argument to set- See Also:
CriteriaBuilder.parameter(Class)
-
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 ofObject[]
.- Returns:
- the single resulting row
- Throws:
NoResultException
- if there is no resultNonUniqueResultException
- 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, ornull
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 ofObject[]
.- 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 aList
, via aCompletionStage
. If the query has multiple results per row, the results are returned in an instance ofObject[]
.- 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.
-
isReadOnly
boolean isReadOnly()
- Returns:
- the read-only/modifiable mode
- See Also:
Stage.Session.isDefaultReadOnly()
-
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 ifcaching is enabled
.- Parameters:
cacheRegion
- the name of the cache region
-
getCacheRegion
String getCacheRegion()
- Returns:
- the name of the cache region
- See Also:
setCacheRegion(String)
-
setCacheMode
Stage.Query<R> setCacheMode(CacheMode cacheMode)
Set the currentCacheMode
in effect while this query is being executed.
-
setCacheStoreMode
default Stage.Query<R> setCacheStoreMode(CacheStoreMode cacheStoreMode)
Set the currentCacheStoreMode
in effect while this query is being executed.
-
setCacheRetrieveMode
default Stage.Query<R> setCacheRetrieveMode(CacheRetrieveMode cacheRetrieveMode)
Set the currentCacheRetrieveMode
in effect while this query is being executed.
-
getCacheMode
CacheMode getCacheMode()
Obtain theCacheMode
in effect for this query. By default, the query inherits theCacheMode
of theStage.Session
from which is originates.- See Also:
Stage.Session.getCacheMode()
-
setFlushMode
Stage.Query<R> setFlushMode(FlushMode flushMode)
Set the currentFlushMode
in effect while this query is being executed.
-
setFlushMode
default Stage.Query<R> setFlushMode(FlushModeType flushModeType)
Set the currentFlushModeType
in effect while this query is being executed.
-
getFlushMode
FlushMode getFlushMode()
Obtain theFlushMode
in effect for this query. By default, the query inherits theFlushMode
of theStage.Session
from which is originates.- See Also:
Stage.Session.getFlushMode()
-
setLockMode
Stage.Query<R> setLockMode(LockMode lockMode)
Set theLockMode
to use for the whole query.
-
setLockMode
default Stage.Query<R> setLockMode(LockModeType lockModeType)
Set theLockModeType
to use for the whole query.
-
setLockMode
Stage.Query<R> setLockMode(String alias, LockMode lockMode)
Set theLockMode
to use for specified alias (as defined in the query'sfrom
clause).- Parameters:
alias
- the from clause aliaslockMode
- the requestedLockMode
- See Also:
Query.setLockMode(String,LockMode)
-
setLockMode
default Stage.Query<R> setLockMode(String alias, LockModeType lockModeType)
Set theLockModeType
to use for specified alias (as defined in the query'sfrom
clause).- Parameters:
alias
- the from clause aliaslockModeType
- the requestedLockModeType
- See Also:
Query.setLockMode(String,LockMode)
-
setPlan
Stage.Query<R> setPlan(EntityGraph<R> entityGraph)
Set theEntityGraph
that will be used as a fetch plan for the root entity returned by this query.
-
-