Class AbstractCommonQueryContract
- All Implemented Interfaces:
CommonQueryContract
- Direct Known Subclasses:
AbstractSelectionQuery
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
applyAliasSpecificLockModeHint
(String hintName, Object value) protected void
applyCommentHint
(String comment) protected void
applyDatabaseHint
(String hint) protected void
applyEntityGraphHint
(String hintName, Object value) protected void
applyFlushModeHint
(FlushMode flushMode) protected void
applyFollowOnLockingHint
(Boolean followOnLocking) protected void
applyGraph
(String graphString, GraphSemantic graphSemantic) protected void
applyGraph
(RootGraphImplementor<?> entityGraph, GraphSemantic graphSemantic) protected void
applyHibernateLockMode
(LockMode value) final boolean
protected final void
applyLockModeHint
(Object value) protected void
applyLockModeType
(LockModeType value) protected void
applyLockTimeoutHint
(int timeout) protected void
applyLockTimeoutHint
(Integer timeout) protected final boolean
applySelectionHint
(String hintName, Object value) protected void
applySynchronizeSpacesHint
(Object value) protected void
applyTimeoutHint
(int timeout) protected void
collectHints
(Map<String, Object> hints) protected BindableType<Object>
determineType
(String namedParam, Class<?> retType) Get the comment that has been set for this query, if any.int
TheFlushMode
in effect for this query.getHints()
protected int
getIntegerLiteral
(JpaExpression<Number> expression, int defaultValue) int
protected int
getMaxRows
(SqmSelectStatement<?> selectStatement, int size) getParameter
(int position) <T> QueryParameterImplementor<T>
getParameter
(int position, Class<T> type) getParameter
(String name) <T> QueryParameterImplementor<T>
getParameter
(String name, Class<T> type) protected abstract ParameterMetadataImplementor
getParameterValue
(int position) <T> T
getParameterValue
(Parameter<T> param) getParameterValue
(String name) TheQueryFlushMode
in effect for this query.protected abstract QueryParameterBindings
Obtain the query timeout in seconds.boolean
protected <P> QueryParameterBinding<P>
locateBinding
(int position) protected <P> QueryParameterBinding<P>
locateBinding
(Parameter<P> parameter) protected <P> QueryParameterBinding<P>
locateBinding
(String name) protected <P> QueryParameterBinding<P>
locateBinding
(QueryParameterImplementor<P> parameter) protected void
protected void
protected abstract boolean
setComment
(String comment) Set a comment for this query.setHibernateFlushMode
(FlushMode flushMode) Set the currentFlushMode
in effect for this query.Set a hint.setParameter
(int position, Object value) Bind the given argument to an ordinal query parameter.setParameter
(int position, Instant value, TemporalType temporalType) Bind anInstant
to an ordinal query parameter using just the portion indicated by the givenTemporalType
.setParameter
(int position, Calendar value, TemporalType temporalType) setParameter
(int position, Date value, TemporalType temporalType) setParameter
(int position, P value, Class<P> javaType) Bind the given argument to an ordinal query parameter using the givenClass
reference to attempt to infer theBindableType
.setParameter
(int position, P value, BindableType<P> type) Bind the given argument to an ordinal query parameter using the givenBindableType
.setParameter
(Parameter<Calendar> param, Calendar value, TemporalType temporalType) setParameter
(Parameter<Date> param, Date value, TemporalType temporalType) setParameter
(Parameter<P> parameter, P value) setParameter
(String name, Object value) Bind the given argument to a named query parameter.setParameter
(String name, Instant value, TemporalType temporalType) Bind anInstant
to the named query parameter using just the portion indicated by the givenTemporalType
.setParameter
(String name, Calendar value, TemporalType temporalType) setParameter
(String name, Date value, TemporalType temporalType) setParameter
(String name, P value, Class<P> javaType) Bind the given argument to a named query parameter using the givenClass
reference to attempt to infer theBindableType
.setParameter
(String name, P value, BindableType<P> type) Bind the given argument to a named query parameter using the givenBindableType
.setParameter
(QueryParameter<P> parameter, P value) Bind an argument to the query parameter represented by the givenQueryParameter
.setParameter
(QueryParameter<P> parameter, P value, Class<P> javaType) Bind an argument to the query parameter represented by the givenQueryParameter
, using the givenClass
reference to attempt to infer theBindableType
to use.setParameter
(QueryParameter<P> parameter, P value, BindableType<P> type) Bind an argument to the query parameter represented by the givenQueryParameter
, using the givenBindableType
.setParameterList
(int position, Object[] values) Bind multiple arguments to an ordinal query parameter.setParameterList
(int position, Collection values) Bind multiple arguments to an ordinal query parameter.setParameterList
(int position, Collection<? extends P> values, Class<P> javaType) Bind multiple arguments to an ordinal query parameter using the givenClass
reference to attempt to infer theBindableType
.setParameterList
(int position, Collection<? extends P> values, BindableType<P> type) Bind multiple arguments to an ordinal query parameter using the givenBindableType
.setParameterList
(int position, P[] values, Class<P> javaType) Bind multiple arguments to an ordinal query parameter using the givenClass
reference to attempt to infer theBindableType
.setParameterList
(int position, P[] values, BindableType<P> type) Bind multiple arguments to an ordinal query parameter using the givenBindableType
.setParameterList
(String name, Object[] values) Bind multiple arguments to a named query parameter.setParameterList
(String name, Collection values) Bind multiple arguments to a named query parameter.setParameterList
(String name, Collection<? extends P> values, Class<P> javaType) Bind multiple arguments to a named query parameter using the givenClass
reference to attempt to infer theBindableType
If unable to infer an appropriateBindableType
, fall back toCommonQueryContract.setParameterList(String, Collection)
.setParameterList
(String name, Collection<? extends P> values, BindableType<P> type) Bind multiple arguments to a named query parameter using the givenBindableType
.setParameterList
(String name, P[] values, Class<P> javaType) Bind multiple arguments to a named query parameter using the given Class reference to attempt to determine theBindableType
to use.setParameterList
(String name, P[] values, BindableType<P> type) Bind multiple arguments to a named query parameter using the givenBindableType
.setParameterList
(QueryParameter<P> parameter, Collection<? extends P> values) Bind multiple arguments to the query parameter represented by the givenQueryParameter
.setParameterList
(QueryParameter<P> parameter, Collection<? extends P> values, Class<P> javaType) Bind multiple arguments to the query parameter represented by the givenQueryParameter
using the givenClass
reference to attempt to infer theBindableType
to use.setParameterList
(QueryParameter<P> parameter, Collection<? extends P> values, BindableType<P> type) Bind multiple arguments to the query parameter represented by the givenQueryParameter
, using the givenBindableType
.setParameterList
(QueryParameter<P> parameter, P[] values) Bind multiple arguments to the query parameter represented by the givenQueryParameter
.setParameterList
(QueryParameter<P> parameter, P[] values, Class<P> javaType) Bind multiple arguments to the query parameter represented by the givenQueryParameter
using the givenClass
reference to attempt to infer theBindableType
to use.setParameterList
(QueryParameter<P> parameter, P[] values, BindableType<P> type) Bind multiple arguments to the query parameter represented by the givenQueryParameter
, using the given theBindableType
.setProperties
(Object bean) Bind the property values of the given bean to named parameters of the query, matching property names with parameter names and mapping property types to Hibernate types using heuristics.setProperties
(Map map) Bind the values of the givenMap
to named parameters of the query, matching key names with parameter names and mapping value types to Hibernate types using heuristics.setQueryFlushMode
(QueryFlushMode queryFlushMode) Set theQueryFlushMode
to use for this query.setTimeout
(int timeout) Set the query timeout in seconds.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.hibernate.query.CommonQueryContract
getFlushMode, setFlushMode
-
Constructor Details
-
AbstractCommonQueryContract
-
Method Details
-
getSession
-
getIntegerLiteral
-
getMaxRows
-
getHints
-
collectHints
-
putIfNotNull
-
putIfNotNull
-
setHint
Description copied from interface:CommonQueryContract
Set a hint. The hints understood by Hibernate are enumerated byAvailableHints
.- Specified by:
setHint
in interfaceCommonQueryContract
- See Also:
-
applyHint
-
applySynchronizeSpacesHint
-
applySelectionHint
-
applyEntityGraphHint
-
applyGraph
-
applyGraph
-
applyLockTimeoutHint
-
applyLockTimeoutHint
protected void applyLockTimeoutHint(int timeout) -
applyHibernateLockMode
-
applyLockModeType
-
applyLockModeHint
-
applyAliasSpecificLockModeHint
-
applyFollowOnLockingHint
-
getComment
Description copied from interface:CommonQueryContract
Get the comment that has been set for this query, if any.- Specified by:
getComment
in interfaceCommonQueryContract
-
setComment
Description copied from interface:CommonQueryContract
Set a comment for this query.- Specified by:
setComment
in interfaceCommonQueryContract
- See Also:
-
getHibernateFlushMode
Description copied from interface:CommonQueryContract
TheFlushMode
in effect for this query. By default, the query inherits theFlushMode
of theSession
from which it originates.- Specified by:
getHibernateFlushMode
in interfaceCommonQueryContract
- See Also:
-
setHibernateFlushMode
Description copied from interface:CommonQueryContract
Set the currentFlushMode
in effect for this query.- Specified by:
setHibernateFlushMode
in interfaceCommonQueryContract
- See Also:
-
getQueryFlushMode
Description copied from interface:CommonQueryContract
TheQueryFlushMode
in effect for this query.By default, this is
QueryFlushMode.DEFAULT
, and theFlushMode
of the owningSession
determines whether it is flushed.- Specified by:
getQueryFlushMode
in interfaceCommonQueryContract
- See Also:
-
setQueryFlushMode
Description copied from interface:CommonQueryContract
Set theQueryFlushMode
to use for this query.- Specified by:
setQueryFlushMode
in interfaceCommonQueryContract
- See Also:
-
applyTimeoutHint
protected void applyTimeoutHint(int timeout) -
applyCommentHint
-
applyFlushModeHint
-
applyDatabaseHint
-
getQueryOptions
-
getTimeout
Description copied from interface:CommonQueryContract
Obtain the query timeout in seconds.This value is eventually passed along to the JDBC statement via
Statement.setQueryTimeout(int)
.A value of zero indicates no timeout.
- Specified by:
getTimeout
in interfaceCommonQueryContract
- See Also:
-
setTimeout
Description copied from interface:CommonQueryContract
Set the query timeout in seconds.Any value set here is eventually passed directly along to the JDBC statement, which expressly disallows negative values. So negative values should be avoided as a general rule.
A value of zero indicates no timeout.
- Specified by:
setTimeout
in interfaceCommonQueryContract
- Parameters:
timeout
- the timeout in seconds- Returns:
this
, for method chaining- See Also:
-
getMaxResults
public int getMaxResults() -
getFirstResult
public int getFirstResult() -
getParameterMetadata
-
getParameters
-
getParameter
-
getParameter
-
getParameter
-
getParameter
-
getQueryParameterBindings
-
resolveJdbcParameterTypeIfNecessary
protected abstract boolean resolveJdbcParameterTypeIfNecessary() -
locateBinding
-
locateBinding
-
locateBinding
-
locateBinding
-
isBound
-
getParameterValue
-
getParameterValue
-
getParameterValue
-
setParameter
Description copied from interface:CommonQueryContract
Bind the given argument to a named query parameter.If the type of the parameter cannot be inferred from the context in which it occurs, use one of the forms which accepts a "type".
- Specified by:
setParameter
in interfaceCommonQueryContract
- See Also:
-
setParameter
Description copied from interface:CommonQueryContract
Bind the given argument to a named query parameter using the givenClass
reference to attempt to infer theBindableType
. If unable to infer an appropriateBindableType
, fall back toCommonQueryContract.setParameter(String, Object)
.- Specified by:
setParameter
in interfaceCommonQueryContract
- See Also:
-
setParameter
Description copied from interface:CommonQueryContract
Bind the given argument to a named query parameter using the givenBindableType
.- Specified by:
setParameter
in interfaceCommonQueryContract
-
setParameter
Description copied from interface:CommonQueryContract
Bind anInstant
to the named query parameter using just the portion indicated by the givenTemporalType
.- Specified by:
setParameter
in interfaceCommonQueryContract
-
setParameter
Description copied from interface:CommonQueryContract
Bind the given argument to an ordinal query parameter.If the type of the parameter cannot be inferred from the context in which it occurs, use one of the forms which accepts a "type".
- Specified by:
setParameter
in interfaceCommonQueryContract
- See Also:
-
setParameter
Description copied from interface:CommonQueryContract
Bind the given argument to an ordinal query parameter using the givenClass
reference to attempt to infer theBindableType
. If unable to infer an appropriateBindableType
, fall back toCommonQueryContract.setParameter(int, Object)
.- Specified by:
setParameter
in interfaceCommonQueryContract
- See Also:
-
setParameter
Description copied from interface:CommonQueryContract
Bind the given argument to an ordinal query parameter using the givenBindableType
.- Specified by:
setParameter
in interfaceCommonQueryContract
-
setParameter
Description copied from interface:CommonQueryContract
Bind anInstant
to an ordinal query parameter using just the portion indicated by the givenTemporalType
.- Specified by:
setParameter
in interfaceCommonQueryContract
-
setParameter
Description copied from interface:CommonQueryContract
Bind an argument to the query parameter represented by the givenQueryParameter
.If the type of the parameter cannot be inferred from the context in which it occurs, use one of the forms which accepts a "type".
- Specified by:
setParameter
in interfaceCommonQueryContract
- Parameters:
parameter
- the query parameter mementovalue
- the argument, which might be null- Returns:
this
, for method chaining- See Also:
-
setParameter
public <P> CommonQueryContract setParameter(QueryParameter<P> parameter, P value, Class<P> javaType) Description copied from interface:CommonQueryContract
Bind an argument to the query parameter represented by the givenQueryParameter
, using the givenClass
reference to attempt to infer theBindableType
to use. If unable to infer an appropriateBindableType
, fall back toCommonQueryContract.setParameter(QueryParameter, Object)
.- Specified by:
setParameter
in interfaceCommonQueryContract
- Parameters:
parameter
- the query parameter mementovalue
- the argument, which might be nulljavaType
- aBindableType
representing the type of the parameter- Returns:
this
, for method chaining- See Also:
-
setParameter
public <P> CommonQueryContract setParameter(QueryParameter<P> parameter, P value, BindableType<P> type) Description copied from interface:CommonQueryContract
Bind an argument to the query parameter represented by the givenQueryParameter
, using the givenBindableType
.- Specified by:
setParameter
in interfaceCommonQueryContract
- Parameters:
parameter
- the query parameter mementovalue
- the argument, which might be nulltype
- aBindableType
representing the type of the parameter- Returns:
this
, for method chaining
-
setParameter
- Specified by:
setParameter
in interfaceCommonQueryContract
- See Also:
-
setParameter
public CommonQueryContract setParameter(Parameter<Calendar> param, Calendar value, TemporalType temporalType) - Specified by:
setParameter
in interfaceCommonQueryContract
- See Also:
-
setParameter
public CommonQueryContract setParameter(Parameter<Date> param, Date value, TemporalType temporalType) - Specified by:
setParameter
in interfaceCommonQueryContract
- See Also:
-
setParameter
- Specified by:
setParameter
in interfaceCommonQueryContract
- See Also:
-
setParameter
- Specified by:
setParameter
in interfaceCommonQueryContract
- See Also:
-
setParameter
- Specified by:
setParameter
in interfaceCommonQueryContract
- See Also:
-
setParameter
- Specified by:
setParameter
in interfaceCommonQueryContract
- See Also:
-
setParameterList
Description copied from interface:CommonQueryContract
Bind multiple arguments to a named query parameter.The "type mapping" for the binding is inferred from the type of the first collection element.
- Specified by:
setParameterList
in interfaceCommonQueryContract
- Returns:
this
, for method chaining- See Also:
-
setParameterList
public <P> CommonQueryContract setParameterList(String name, Collection<? extends P> values, Class<P> javaType) Description copied from interface:CommonQueryContract
Bind multiple arguments to a named query parameter using the givenClass
reference to attempt to infer theBindableType
If unable to infer an appropriateBindableType
, fall back toCommonQueryContract.setParameterList(String, Collection)
.- Specified by:
setParameterList
in interfaceCommonQueryContract
- Returns:
this
, for method chaining- See Also:
-
setParameterList
public <P> CommonQueryContract setParameterList(String name, Collection<? extends P> values, BindableType<P> type) Description copied from interface:CommonQueryContract
Bind multiple arguments to a named query parameter using the givenBindableType
.- Specified by:
setParameterList
in interfaceCommonQueryContract
- Returns:
this
, for method chaining
-
setParameterList
Description copied from interface:CommonQueryContract
Bind multiple arguments to a named query parameter.The "type mapping" for the binding is inferred from the type of the first collection element
- Specified by:
setParameterList
in interfaceCommonQueryContract
- Returns:
this
, for method chaining
-
setParameterList
Description copied from interface:CommonQueryContract
Bind multiple arguments to a named query parameter using the given Class reference to attempt to determine theBindableType
to use. If unable to determine an appropriateBindableType
,CommonQueryContract.setParameterList(String, Collection)
is used- Specified by:
setParameterList
in interfaceCommonQueryContract
- Returns:
this
, for method chaining- See Also:
-
setParameterList
Description copied from interface:CommonQueryContract
Bind multiple arguments to a named query parameter using the givenBindableType
.- Specified by:
setParameterList
in interfaceCommonQueryContract
- Returns:
this
, for method chaining
-
setParameterList
Description copied from interface:CommonQueryContract
Bind multiple arguments to an ordinal query parameter.The "type mapping" for the binding is inferred from the type of the first collection element
- Specified by:
setParameterList
in interfaceCommonQueryContract
- Returns:
this
, for method chaining
-
setParameterList
public <P> CommonQueryContract setParameterList(int position, Collection<? extends P> values, Class<P> javaType) Description copied from interface:CommonQueryContract
Bind multiple arguments to an ordinal query parameter using the givenClass
reference to attempt to infer theBindableType
. If unable to infer an appropriateBindableType
, fall back toCommonQueryContract.setParameterList(String, Collection)
.- Specified by:
setParameterList
in interfaceCommonQueryContract
- Returns:
this
, for method chaining- See Also:
-
setParameterList
public <P> CommonQueryContract setParameterList(int position, Collection<? extends P> values, BindableType<P> type) Description copied from interface:CommonQueryContract
Bind multiple arguments to an ordinal query parameter using the givenBindableType
.- Specified by:
setParameterList
in interfaceCommonQueryContract
- Returns:
this
, for method chaining
-
setParameterList
Description copied from interface:CommonQueryContract
Bind multiple arguments to an ordinal query parameter.The "type mapping" for the binding is inferred from the type of the first collection element
- Specified by:
setParameterList
in interfaceCommonQueryContract
- Returns:
this
, for method chaining
-
setParameterList
Description copied from interface:CommonQueryContract
Bind multiple arguments to an ordinal query parameter using the givenClass
reference to attempt to infer theBindableType
. If unable to infer an appropriateBindableType
, fall back toCommonQueryContract.setParameterList(String, Collection)
.- Specified by:
setParameterList
in interfaceCommonQueryContract
- Returns:
this
, for method chaining- See Also:
-
setParameterList
Description copied from interface:CommonQueryContract
Bind multiple arguments to an ordinal query parameter using the givenBindableType
.- Specified by:
setParameterList
in interfaceCommonQueryContract
- Returns:
this
, for method chaining
-
setParameterList
public <P> CommonQueryContract setParameterList(QueryParameter<P> parameter, Collection<? extends P> values) Description copied from interface:CommonQueryContract
Bind multiple arguments to the query parameter represented by the givenQueryParameter
.The type of the parameter is inferred from the context in which it occurs, and from the type of the first given argument.
- Specified by:
setParameterList
in interfaceCommonQueryContract
- Parameters:
parameter
- the parameter mementovalues
- a collection of arguments- Returns:
this
, for method chaining
-
setParameterList
public <P> CommonQueryContract setParameterList(QueryParameter<P> parameter, Collection<? extends P> values, Class<P> javaType) Description copied from interface:CommonQueryContract
Bind multiple arguments to the query parameter represented by the givenQueryParameter
using the givenClass
reference to attempt to infer theBindableType
to use. If unable to infer an appropriateBindableType
, fall back to usingCommonQueryContract.setParameterList(String, Collection)
.- Specified by:
setParameterList
in interfaceCommonQueryContract
- Returns:
this
, for method chaining- See Also:
-
setParameterList
public <P> CommonQueryContract setParameterList(QueryParameter<P> parameter, Collection<? extends P> values, BindableType<P> type) Description copied from interface:CommonQueryContract
Bind multiple arguments to the query parameter represented by the givenQueryParameter
, using the givenBindableType
.- Specified by:
setParameterList
in interfaceCommonQueryContract
- Returns:
this
, for method chaining
-
setParameterList
Description copied from interface:CommonQueryContract
Bind multiple arguments to the query parameter represented by the givenQueryParameter
.The type of the parameter is inferred between the context in which it occurs, the type associated with the
QueryParameter
and the type of the first given argument.- Specified by:
setParameterList
in interfaceCommonQueryContract
- Parameters:
parameter
- the parameter mementovalues
- a collection of arguments- Returns:
this
, for method chaining
-
setParameterList
public <P> CommonQueryContract setParameterList(QueryParameter<P> parameter, P[] values, Class<P> javaType) Description copied from interface:CommonQueryContract
Bind multiple arguments to the query parameter represented by the givenQueryParameter
using the givenClass
reference to attempt to infer theBindableType
to use. If unable to infer an appropriateBindableType
, fall back to usingCommonQueryContract.setParameterList(String, Collection)
.- Specified by:
setParameterList
in interfaceCommonQueryContract
- Returns:
this
, for method chaining- See Also:
-
setParameterList
public <P> CommonQueryContract setParameterList(QueryParameter<P> parameter, P[] values, BindableType<P> type) Description copied from interface:CommonQueryContract
Bind multiple arguments to the query parameter represented by the givenQueryParameter
, using the given theBindableType
.- Specified by:
setParameterList
in interfaceCommonQueryContract
- Returns:
this
, for method chaining
-
setProperties
Description copied from interface:CommonQueryContract
Bind the values of the givenMap
to named parameters of the query, matching key names with parameter names and mapping value types to Hibernate types using heuristics.- Specified by:
setProperties
in interfaceCommonQueryContract
- Parameters:
map
- aMap
of names to arguments- Returns:
this
, for method chaining
-
determineType
-
setProperties
Description copied from interface:CommonQueryContract
Bind the property values of the given bean to named parameters of the query, matching property names with parameter names and mapping property types to Hibernate types using heuristics.- Specified by:
setProperties
in interfaceCommonQueryContract
- Parameters:
bean
- any JavaBean or POJO- Returns:
this
, for method chaining
-