Package org.hibernate.reactive.stage
Interface Stage.Query<R>
-
- Enclosing interface:
- Stage
public static interface Stage.Query<R>A non-blocking counterpart to the HibernateQueryinterface, 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 aCompletionStagewithout blocking the calling thread.Note that
TemporalTypeis not supported as an argument for parameter bindings, and so parameters of typeDateorCalendarshould not be used. Instead, datetime types fromjava.timeshould 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.CacheModegetCacheMode()Obtain theCacheModein effect for this query.StringgetCacheRegion()intgetFirstResult()FlushModegetFlushMode()Obtain theFlushModein effect for this query.intgetMaxResults()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, ornullif the query returns no results, throwing an exception if the query returns more than one matching row.booleanisCacheable()booleanisReadOnly()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 currentCacheModein 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 currentCacheRetrieveModein effect while this query is being executed.default Stage.Query<R>setCacheStoreMode(CacheStoreMode cacheStoreMode)Set the currentCacheStoreModein 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 currentFlushModeTypein effect while this query is being executed.Stage.Query<R>setFlushMode(FlushMode flushMode)Set the currentFlushModein effect while this query is being executed.default Stage.Query<R>setLockMode(String alias, LockModeType lockModeType)Set theLockModeTypeto use for specified alias (as defined in the query'sfromclause).Stage.Query<R>setLockMode(String alias, LockMode lockMode)Set theLockModeto use for specified alias (as defined in the query'sfromclause).default Stage.Query<R>setLockMode(LockModeType lockModeType)Set theLockModeTypeto use for the whole query.Stage.Query<R>setLockMode(LockMode lockMode)Set theLockModeto 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 theEntityGraphthat 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_VALUEif 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, ornullif 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-trueif this query is cacheable
-
isCacheable
boolean isCacheable()
- Returns:
trueif 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 currentCacheModein effect while this query is being executed.
-
setCacheStoreMode
default Stage.Query<R> setCacheStoreMode(CacheStoreMode cacheStoreMode)
Set the currentCacheStoreModein effect while this query is being executed.
-
setCacheRetrieveMode
default Stage.Query<R> setCacheRetrieveMode(CacheRetrieveMode cacheRetrieveMode)
Set the currentCacheRetrieveModein effect while this query is being executed.
-
getCacheMode
CacheMode getCacheMode()
Obtain theCacheModein effect for this query. By default, the query inherits theCacheModeof theStage.Sessionfrom which is originates.- See Also:
Stage.Session.getCacheMode()
-
setFlushMode
Stage.Query<R> setFlushMode(FlushMode flushMode)
Set the currentFlushModein effect while this query is being executed.
-
setFlushMode
default Stage.Query<R> setFlushMode(FlushModeType flushModeType)
Set the currentFlushModeTypein effect while this query is being executed.
-
getFlushMode
FlushMode getFlushMode()
Obtain theFlushModein effect for this query. By default, the query inherits theFlushModeof theStage.Sessionfrom which is originates.- See Also:
Stage.Session.getFlushMode()
-
setLockMode
Stage.Query<R> setLockMode(LockMode lockMode)
Set theLockModeto use for the whole query.
-
setLockMode
default Stage.Query<R> setLockMode(LockModeType lockModeType)
Set theLockModeTypeto use for the whole query.
-
setLockMode
Stage.Query<R> setLockMode(String alias, LockMode lockMode)
Set theLockModeto use for specified alias (as defined in the query'sfromclause).- 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 theLockModeTypeto use for specified alias (as defined in the query'sfromclause).- Parameters:
alias- the from clause aliaslockModeType- the requestedLockModeType- See Also:
Query.setLockMode(String,LockMode)
-
setPlan
Stage.Query<R> setPlan(EntityGraph<R> entityGraph)
Set theEntityGraphthat will be used as a fetch plan for the root entity returned by this query.
-
-