Package org.hibernate.reactive.mutiny
Interface Mutiny.Query<R>
-
- Enclosing interface:
- Mutiny
public static interface Mutiny.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 aUni
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 io.smallrye.mutiny.Uni<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()
io.smallrye.mutiny.Uni<List<R>>
getResultList()
Asynchronously execute this query, returning the query results as aList
, via aUni
.io.smallrye.mutiny.Uni<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.io.smallrye.mutiny.Uni<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()
Mutiny.Query<R>
setCacheable(boolean cacheable)
Enable or disable caching of this query result set in the second-level query cache.Mutiny.Query<R>
setCacheMode(CacheMode cacheMode)
Set the currentCacheMode
in effect while this query is being executed.Mutiny.Query<R>
setCacheRegion(String cacheRegion)
Set the name of the cache region in which to store this query result set ifcaching is enabled
.default Mutiny.Query<R>
setCacheRetrieveMode(CacheRetrieveMode cacheRetrieveMode)
Set the currentCacheRetrieveMode
in effect while this query is being executed.default Mutiny.Query<R>
setCacheStoreMode(CacheStoreMode cacheStoreMode)
Set the currentCacheStoreMode
in effect while this query is being executed.Mutiny.Query<R>
setComment(String comment)
Set the comment for this query.Mutiny.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 Mutiny.Query<R>
setFlushMode(FlushModeType flushModeType)
Set the currentFlushModeType
in effect while this query is being executed.Mutiny.Query<R>
setFlushMode(FlushMode flushMode)
Set the currentFlushMode
in effect while this query is being executed.default Mutiny.Query<R>
setLockMode(String alias, LockModeType lockModeType)
Set theLockModeType
to use for specified alias (as defined in the query'sfrom
clause).Mutiny.Query<R>
setLockMode(String alias, LockMode lockMode)
Set theLockMode
to use for specified alias (as defined in the query'sfrom
clause).default Mutiny.Query<R>
setLockMode(LockModeType lockModeType)
Set theLockModeType
to use for the whole query.Mutiny.Query<R>
setLockMode(LockMode lockMode)
Set theLockMode
to use for the whole query.Mutiny.Query<R>
setMaxResults(int maxResults)
Set the maximum number of results that may be returned by this query when executed.Mutiny.Query<R>
setParameter(int parameter, Object argument)
Set the value of an ordinal parameter.Mutiny.Query<R>
setParameter(String parameter, Object argument)
Set the value of a named parameter.<T> Mutiny.Query<R>
setParameter(Parameter<T> parameter, T argument)
Set the value of a typed parameter.Mutiny.Query<R>
setPlan(EntityGraph<R> entityGraph)
Set theEntityGraph
that will be used as a fetch plan for the root entity returned by this query.Mutiny.Query<R>
setReadOnly(boolean readOnly)
Set the read-only/modifiable mode for entities and proxies loaded by this Query.
-
-
-
Method Detail
-
setParameter
Mutiny.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
Mutiny.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> Mutiny.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 callingMutiny.SessionFactory.getCriteriaBuilder()
.- Parameters:
parameter
- the parameterargument
- the argument to set- See Also:
CriteriaBuilder.parameter(Class)
-
setMaxResults
Mutiny.Query<R> setMaxResults(int maxResults)
Set the maximum number of results that may be returned by this query when executed.
-
setFirstResult
Mutiny.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
io.smallrye.mutiny.Uni<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
io.smallrye.mutiny.Uni<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
io.smallrye.mutiny.Uni<List<R>> getResultList()
Asynchronously execute this query, returning the query results as aList
, via aUni
. If the query has multiple results per row, the results are returned in an instance ofObject[]
. 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
io.smallrye.mutiny.Uni<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
Mutiny.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:
Mutiny.Session.isDefaultReadOnly()
-
setComment
Mutiny.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
Mutiny.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
Mutiny.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
Mutiny.Query<R> setCacheMode(CacheMode cacheMode)
Set the currentCacheMode
in effect while this query is being executed.
-
setCacheStoreMode
default Mutiny.Query<R> setCacheStoreMode(CacheStoreMode cacheStoreMode)
Set the currentCacheStoreMode
in effect while this query is being executed.
-
setCacheRetrieveMode
default Mutiny.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 theMutiny.Session
from which is originates.- See Also:
Mutiny.Session.getCacheMode()
-
setFlushMode
Mutiny.Query<R> setFlushMode(FlushMode flushMode)
Set the currentFlushMode
in effect while this query is being executed.
-
setFlushMode
default Mutiny.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 theMutiny.Session
from which is originates.- See Also:
Mutiny.Session.getFlushMode()
-
setLockMode
Mutiny.Query<R> setLockMode(LockMode lockMode)
Set theLockMode
to use for the whole query.
-
setLockMode
default Mutiny.Query<R> setLockMode(LockModeType lockModeType)
Set theLockModeType
to use for the whole query.
-
setLockMode
Mutiny.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 Mutiny.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
Mutiny.Query<R> setPlan(EntityGraph<R> entityGraph)
Set theEntityGraph
that will be used as a fetch plan for the root entity returned by this query.
-
-