public interface Query
TypedQuery
,
StoredProcedureQuery
,
Parameter
Modifier and Type | Method and Description |
---|---|
int |
executeUpdate()
Execute an update or delete statement.
|
int |
getFirstResult()
The position of the first result the query object was set to
retrieve.
|
FlushModeType |
getFlushMode()
Get the flush mode in effect for the query execution.
|
java.util.Map<java.lang.String,java.lang.Object> |
getHints()
Get the properties and hints and associated values that are
in effect for the query instance.
|
LockModeType |
getLockMode()
Get the current lock mode for the query.
|
int |
getMaxResults()
The maximum number of results the query object was set to
retrieve.
|
Parameter<?> |
getParameter(int position)
Get the parameter object corresponding to the declared
positional parameter with the given position.
|
<T> Parameter<T> |
getParameter(int position,
java.lang.Class<T> type)
Get the parameter object corresponding to the declared
positional parameter with the given position and type.
|
Parameter<?> |
getParameter(java.lang.String name)
Get the parameter object corresponding to the declared
parameter of the given name.
|
<T> Parameter<T> |
getParameter(java.lang.String name,
java.lang.Class<T> type)
Get the parameter object corresponding to the declared
parameter of the given name and type.
|
java.util.Set<Parameter<?>> |
getParameters()
Get the parameter objects corresponding to the declared
parameters of the query.
|
java.lang.Object |
getParameterValue(int position)
Return the input value bound to the positional parameter.
|
<T> T |
getParameterValue(Parameter<T> param)
Return the input value bound to the parameter.
|
java.lang.Object |
getParameterValue(java.lang.String name)
Return the input value bound to the named parameter.
|
java.util.List |
getResultList()
Execute a SELECT query and return the query results
as an untyped List.
|
default java.util.stream.Stream |
getResultStream()
Execute a SELECT query and return the query results
as an untyped
java.util.stream.Stream . |
java.lang.Object |
getSingleResult()
Execute a SELECT query that returns a single untyped result.
|
boolean |
isBound(Parameter<?> param)
Return a boolean indicating whether a value has been bound
to the parameter.
|
Query |
setFirstResult(int startPosition)
Set the position of the first result to retrieve.
|
Query |
setFlushMode(FlushModeType flushMode)
Set the flush mode type to be used for the query execution.
|
Query |
setHint(java.lang.String hintName,
java.lang.Object value)
Set a query property or hint.
|
Query |
setLockMode(LockModeType lockMode)
Set the lock mode type to be used for the query execution.
|
Query |
setMaxResults(int maxResult)
Set the maximum number of results to retrieve.
|
Query |
setParameter(int position,
java.util.Calendar value,
TemporalType temporalType)
Bind an instance of
java.util.Calendar to a positional
parameter. |
Query |
setParameter(int position,
java.util.Date value,
TemporalType temporalType)
Bind an instance of
java.util.Date to a positional parameter. |
Query |
setParameter(int position,
java.lang.Object value)
Bind an argument value to a positional parameter.
|
Query |
setParameter(Parameter<java.util.Calendar> param,
java.util.Calendar value,
TemporalType temporalType)
Bind an instance of
java.util.Calendar to a Parameter object. |
Query |
setParameter(Parameter<java.util.Date> param,
java.util.Date value,
TemporalType temporalType)
Bind an instance of
java.util.Date to a Parameter object. |
<T> Query |
setParameter(Parameter<T> param,
T value)
Bind the value of a
Parameter object. |
Query |
setParameter(java.lang.String name,
java.util.Calendar value,
TemporalType temporalType)
Bind an instance of
java.util.Calendar to a named parameter. |
Query |
setParameter(java.lang.String name,
java.util.Date value,
TemporalType temporalType)
Bind an instance of
java.util.Date to a named parameter. |
Query |
setParameter(java.lang.String name,
java.lang.Object value)
Bind an argument value to a named parameter.
|
<T> T |
unwrap(java.lang.Class<T> cls)
Return an object of the specified type to allow access to
the provider-specific API.
|
java.util.List getResultList()
java.lang.IllegalStateException
- if called for a Java
Persistence query language UPDATE or DELETE statementQueryTimeoutException
- if the query execution exceeds
the query timeout value set and only the statement is
rolled backTransactionRequiredException
- if a lock mode other than
NONE
has been set and there is no transaction
or the persistence context has not been joined to the transactionPessimisticLockException
- if pessimistic locking
fails and the transaction is rolled backLockTimeoutException
- if pessimistic locking
fails and only the statement is rolled backPersistenceException
- if the query execution exceeds
the query timeout value set and the transaction
is rolled backdefault java.util.stream.Stream getResultStream()
java.util.stream.Stream
.
By default this method delegates to getResultList().stream()
,
however persistence provider may choose to override this method
to provide additional capabilities.java.lang.IllegalStateException
- if called for a Java
Persistence query language UPDATE or DELETE statementQueryTimeoutException
- if the query execution exceeds
the query timeout value set and only the statement is
rolled backTransactionRequiredException
- if a lock mode other than
NONE
has been set and there is no transaction
or the persistence context has not been joined to the transactionPessimisticLockException
- if pessimistic locking
fails and the transaction is rolled backLockTimeoutException
- if pessimistic locking
fails and only the statement is rolled backPersistenceException
- if the query execution exceeds
the query timeout value set and the transaction
is rolled backStream
,
getResultList()
java.lang.Object getSingleResult()
NoResultException
- if there is no resultNonUniqueResultException
- if more than one resultjava.lang.IllegalStateException
- if called for a Java
Persistence query language UPDATE or DELETE statementQueryTimeoutException
- if the query execution exceeds
the query timeout value set and only the statement is
rolled backTransactionRequiredException
- if a lock mode other than
NONE
has been set and there is no transaction
or the persistence context has not been joined to the transactionPessimisticLockException
- if pessimistic locking
fails and the transaction is rolled backLockTimeoutException
- if pessimistic locking
fails and only the statement is rolled backPersistenceException
- if the query execution exceeds
the query timeout value set and the transaction
is rolled backint executeUpdate()
java.lang.IllegalStateException
- if called for a Java
Persistence query language SELECT statement or for
a criteria queryTransactionRequiredException
- if there is
no transaction or the persistence context has not
been joined to the transactionQueryTimeoutException
- if the statement execution
exceeds the query timeout value set and only
the statement is rolled backPersistenceException
- if the query execution exceeds
the query timeout value set and the transaction
is rolled backQuery setMaxResults(int maxResult)
maxResult
- maximum number of results to retrievejava.lang.IllegalArgumentException
- if the argument is negativeint getMaxResults()
Integer.MAX_VALUE
if setMaxResults
was not
applied to the query object.Query setFirstResult(int startPosition)
startPosition
- position of the first result,
numbered from 0java.lang.IllegalArgumentException
- if the argument is negativeint getFirstResult()
setFirstResult
was not applied to the
query object.Query setHint(java.lang.String hintName, java.lang.Object value)
hintName
- name of the property or hintvalue
- value for the property or hintjava.lang.IllegalArgumentException
- if the second argument is not
valid for the implementationjava.util.Map<java.lang.String,java.lang.Object> getHints()
<T> Query setParameter(Parameter<T> param, T value)
Parameter
object.param
- parameter objectvalue
- parameter valuejava.lang.IllegalArgumentException
- if the parameter
does not correspond to a parameter of the
queryQuery setParameter(Parameter<java.util.Calendar> param, java.util.Calendar value, TemporalType temporalType)
java.util.Calendar
to a Parameter
object.param
- parameter objectvalue
- parameter valuetemporalType
- temporal typejava.lang.IllegalArgumentException
- if the parameter does not
correspond to a parameter of the queryQuery setParameter(Parameter<java.util.Date> param, java.util.Date value, TemporalType temporalType)
java.util.Date
to a Parameter
object.param
- parameter objectvalue
- parameter valuetemporalType
- temporal typejava.lang.IllegalArgumentException
- if the parameter does not
correspond to a parameter of the queryQuery setParameter(java.lang.String name, java.lang.Object value)
name
- parameter namevalue
- parameter valuejava.lang.IllegalArgumentException
- if the parameter name does
not correspond to a parameter of the query or if
the argument is of incorrect typeQuery setParameter(java.lang.String name, java.util.Calendar value, TemporalType temporalType)
java.util.Calendar
to a named parameter.name
- parameter namevalue
- parameter valuetemporalType
- temporal typejava.lang.IllegalArgumentException
- if the parameter name does
not correspond to a parameter of the query or if
the value argument is of incorrect typeQuery setParameter(java.lang.String name, java.util.Date value, TemporalType temporalType)
java.util.Date
to a named parameter.name
- parameter namevalue
- parameter valuetemporalType
- temporal typejava.lang.IllegalArgumentException
- if the parameter name does
not correspond to a parameter of the query or if
the value argument is of incorrect typeQuery setParameter(int position, java.lang.Object value)
position
- positionvalue
- parameter valuejava.lang.IllegalArgumentException
- if position does not
correspond to a positional parameter of the
query or if the argument is of incorrect typeQuery setParameter(int position, java.util.Calendar value, TemporalType temporalType)
java.util.Calendar
to a positional
parameter.position
- positionvalue
- parameter valuetemporalType
- temporal typejava.lang.IllegalArgumentException
- if position does not
correspond to a positional parameter of the query or
if the value argument is of incorrect typeQuery setParameter(int position, java.util.Date value, TemporalType temporalType)
java.util.Date
to a positional parameter.position
- positionvalue
- parameter valuetemporalType
- temporal typejava.lang.IllegalArgumentException
- if position does not
correspond to a positional parameter of the query or
if the value argument is of incorrect typejava.util.Set<Parameter<?>> getParameters()
java.lang.IllegalStateException
- if invoked on a native
query when the implementation does not support
this useParameter<?> getParameter(java.lang.String name)
name
- parameter namejava.lang.IllegalArgumentException
- if the parameter of the
specified name does not existjava.lang.IllegalStateException
- if invoked on a native
query when the implementation does not support
this use<T> Parameter<T> getParameter(java.lang.String name, java.lang.Class<T> type)
name
- parameter nametype
- typejava.lang.IllegalArgumentException
- if the parameter of the
specified name does not exist or is not assignable
to the typejava.lang.IllegalStateException
- if invoked on a native
query or Jakarta Persistence query language query when
the implementation does not support this useParameter<?> getParameter(int position)
position
- positionjava.lang.IllegalArgumentException
- if the parameter with the
specified position does not existjava.lang.IllegalStateException
- if invoked on a native
query when the implementation does not support
this use<T> Parameter<T> getParameter(int position, java.lang.Class<T> type)
position
- positiontype
- typejava.lang.IllegalArgumentException
- if the parameter with the
specified position does not exist or is not assignable
to the typejava.lang.IllegalStateException
- if invoked on a native
query or Jakarta Persistence query language query when
the implementation does not support this useboolean isBound(Parameter<?> param)
param
- parameter object<T> T getParameterValue(Parameter<T> param)
param
- parameter objectjava.lang.IllegalArgumentException
- if the parameter is not
a parameter of the queryjava.lang.IllegalStateException
- if the parameter has not been
been boundjava.lang.Object getParameterValue(java.lang.String name)
name
- parameter namejava.lang.IllegalStateException
- if the parameter has not been
been boundjava.lang.IllegalArgumentException
- if the parameter of the
specified name does not existjava.lang.Object getParameterValue(int position)
position
- positionjava.lang.IllegalStateException
- if the parameter has not been
been boundjava.lang.IllegalArgumentException
- if the parameter with the
specified position does not existQuery setFlushMode(FlushModeType flushMode)
flushMode
- flush modeFlushModeType getFlushMode()
Query setLockMode(LockModeType lockMode)
lockMode
- lock modejava.lang.IllegalStateException
- if the query is found not to be
a Jakarta Persistence query language SELECT query
or a CriteriaQuery queryLockModeType getLockMode()
java.lang.IllegalStateException
- if the query is found not to be
a Jakarta Persistence query language SELECT query or
a Criteria API query<T> T unwrap(java.lang.Class<T> cls)
PersistenceException
is thrown.cls
- the class of the object to be returned. This is
normally either the underlying query
implementation class or an interface that it
implements.PersistenceException
- if the provider does not support
the call