Interface NativeQuery<T>
- All Superinterfaces:
CommonQueryContract,MutationQuery,Query,Query<T>,SelectionQuery<T>,SynchronizeableQuery,TypedQuery<T>
- All Known Subinterfaces:
NativeQueryImplementor<R>
- All Known Implementing Classes:
NativeQueryImpl
Along with the operations inherited from Query, this interface
provides control over:
- mapping the result set of the native SQL query, and
- synchronization of the database with state held in memory before execution of the query, via automatic flushing of the session.
A NativeQuery may be obtained from the Session
by calling:
QueryProducer.createNativeQuery(String, Class), passing native SQL as a string, orQueryProducer.createNativeQuery(String, String, Class)passing the native SQL string and the name of a result set mapping defined usingSqlResultSetMapping.
A result set mapping may be specified by:
- a named
SqlResultSetMappingpassed toQueryProducer.createNativeQuery(String, String, Class), - a named
SqlResultSetMappingspecified usingNamedNativeQuery.resultSetMapping()for a named query, or - by calling the various
addEntity(java.lang.String),addRoot(java.lang.String, java.lang.String),addJoin(java.lang.String, java.lang.String),addFetch(java.lang.String, java.lang.String, java.lang.String)andaddScalar(java.lang.String)methods of this object.
The third option is a legacy of much older versions of Hibernate and is currently disfavored.
To determine if an automatic flush is required before execution of the query, Hibernate must know which tables affect the query result set. JPA provides no standard way to do this. Instead, this information may be provided via:
NamedNativeQuery.querySpaces()for a named query, or- by calling
addSynchronizedEntityClass(java.lang.Class),addSynchronizedEntityName(java.lang.String), oraddSynchronizedQuerySpace(java.lang.String).
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceAllows access to further control how collection returns are mapped back from result sets.static interfaceAllows access to further control how join fetch returns are mapped back from result sets.static interfacestatic interfaceSimple unification interface for all returns from the variousaddXYZ()methods.static interfaceANativeQuery.ResultNodewhich can be a query result.static interfaceAllows access to further control how properties within a root or join fetch are mapped back from the result set.static interfaceAllows access to further control how root returns are mapped back from result sets. -
Method Summary
Modifier and TypeMethodDescriptionaddAttributeResult(String columnAlias, SingularAttribute attribute) Defines a result based on a specified attribute.addAttributeResult(String columnAlias, Class entityJavaType, String attributePath) Defines a result based on a specified attribute.addAttributeResult(String columnAlias, String entityName, String attributePath) Defines a result based on a specified attribute.Declare a "root" entity, without specifying an alias.Declare a "root" entity, without specifying an alias.Declare a "root" entity.Declare a "root" entity, specifying a lock mode.Declare a "root" entity.Declare a "root" entity, specifying a lock mode.Declare a join fetch result.addInstantiation(Class<J> targetJavaType) Declare a join fetch result.Declare a join fetch result.Declare a join fetch result, specifying a lock mode.addQueryHint(String hint) Add a database query hint to the SQL query.Add a new root return mapping, returning aNativeQuery.RootReturnto allow further definition.Add a new root return mapping, returning aNativeQuery.RootReturnto allow further definition.Declare a scalar query result.Declare a scalar query result using the specified result type.<C> NativeQuery<T>addScalar(String columnAlias, Class<C> relationalJavaType, AttributeConverter<?, C> converter) Declare a scalar query result with an explicit conversion.<C> NativeQuery<T>addScalar(String columnAlias, Class<C> relationalJavaType, Class<? extends AttributeConverter<?, C>> converter) Declare a scalar query result with an explicit conversion.<O,R> NativeQuery<T> addScalar(String columnAlias, Class<O> domainJavaType, Class<R> jdbcJavaType, AttributeConverter<O, R> converter) Declare a scalar query result with an explicit conversion.<O,R> NativeQuery<T> addScalar(String columnAlias, Class<O> domainJavaType, Class<R> jdbcJavaType, Class<? extends AttributeConverter<O, R>> converter) Declare a scalar query result with an explicit conversion.addScalar(String columnAlias, BasicDomainType type) Declare a scalar query result.addScalar(String columnAlias, BasicTypeReference type) Declare a scalar query result.addSynchronizedEntityClass(Class entityClass) Add all query spaces associated with the entity with the given type.addSynchronizedEntityName(String entityName) Add all query spaces associated with the entity with the given names.addSynchronizedQuerySpace(String querySpace) Add a query space.Get the rootLockModefor the queryNot applicable to native SQL queries, due to an unfortunate requirement of the JPA specification.Obtains theLockOptionsin effect for this query.setCacheable(boolean cacheable) Enable/disable second level query (result) caching for this query.setCacheMode(CacheMode cacheMode) Set the currentCacheModein effect for this query.setCacheRegion(String cacheRegion) Set the name of the cache region where query results should be cached (assumingSelectionQuery.isCacheable()).setCacheRetrieveMode(CacheRetrieveMode cacheRetrieveMode) setCacheStoreMode(CacheStoreMode cacheStoreMode) setComment(String comment) Set the comment for this query.setFetchSize(int fetchSize) Sets a JDBC fetch size hint for the query.setFirstResult(int startPosition) Set the first row position to return from the query results.setFlushMode(FlushModeType flushMode) Set theFlushModein to use for this query.setHibernateFlushMode(FlushMode flushMode) Set the currentFlushModein effect for this query.setHibernateLockMode(LockMode lockMode) Specify the rootLockModefor the querySet a hint.setLockMode(LockModeType lockMode) Not applicable to native SQL queries, due to an unfortunate requirement of the JPA specification.setLockMode(String alias, LockMode lockMode) Not applicable to native SQL queries.setLockOptions(LockOptions lockOptions) Apply the given lock options to this query.setMaxResults(int maxResult) Set the max number of rows requested for the query results.setParameter(int position, Object value) Bind the given argument to an ordinal query parameter.setParameter(int position, Instant value, TemporalType temporalType) Bind anInstantvalue to the ordinal query parameter using just the portion indicated by the givenTemporalType.setParameter(int position, Calendar value, TemporalType temporalType) QueryoverridesetParameter(int position, Date value, TemporalType temporalType) Queryoverride<P> NativeQuery<T>setParameter(int position, P val, Class<P> type) Bind the given argument to an ordinal query parameter using the given Class reference to attempt to determine theBindableTypeto use.<P> NativeQuery<T>setParameter(int position, P val, BindableType<P> type) Bind the given argument to an ordinal query parameter using the givenBindableType.setParameter(Parameter<Calendar> param, Calendar value, TemporalType temporalType) QueryoverridesetParameter(Parameter<Date> param, Date value, TemporalType temporalType) Queryoverride<P> NativeQuery<T>setParameter(Parameter<P> param, P value) QueryoverridesetParameter(String name, Object value) Bind the given argument to a named query parameter.setParameter(String name, Instant value, TemporalType temporalType) Bind anInstantvalue to the named query parameter using just the portion indicated by the givenTemporalType.setParameter(String name, Calendar value, TemporalType temporalType) QueryoverridesetParameter(String name, Date value, TemporalType temporalType) Queryoverride<P> NativeQuery<T>setParameter(String name, P val, Class<P> type) Bind the given argument to a named query parameter using the given Class reference to attempt to determine theBindableTypeto use.<P> NativeQuery<T>setParameter(String name, P val, BindableType<P> type) Bind the given argument to a named query parameter using the givenBindableType.<P> NativeQuery<T>setParameter(QueryParameter<P> parameter, P val) Bind an argument to the query parameter represented by the givenQueryParameter.<P> NativeQuery<T>setParameter(QueryParameter<P> parameter, P val, Class<P> type) Bind an argument to the query parameter represented by the givenQueryParameterusing the given Class reference to attempt to determine theBindableTypeto use.<P> NativeQuery<T>setParameter(QueryParameter<P> parameter, P val, BindableType<P> type) Bind an argument to the query parameter represented by the givenQueryParameterusing 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.<P> NativeQuery<T>setParameterList(int position, Collection<? extends P> values, Class<P> type) Bind multiple arguments to an ordinal query parameter using the given Class reference to attempt to determine theBindableTypeto use.<P> NativeQuery<T>setParameterList(int position, Collection<? extends P> values, BindableType<P> javaType) Bind multiple arguments to an ordinal query parameter using the givenBindableType.<P> NativeQuery<T>setParameterList(int position, P[] values, Class<P> javaType) Bind multiple arguments to an ordinal query parameter using the givenClassreference to attempt to determine theBindableTypeto use.<P> NativeQuery<T>setParameterList(int position, P[] values, BindableType<P> javaType) 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.<P> NativeQuery<T>setParameterList(String name, Collection<? extends P> values, Class<P> type) Bind multiple arguments to a named query parameter using the given Class reference to attempt to determine theBindableTypeto use.<P> NativeQuery<T>setParameterList(String name, Collection<? extends P> values, BindableType<P> type) Bind multiple arguments to a named query parameter using the givenBindableType.<P> NativeQuery<T>setParameterList(String name, P[] values, Class<P> type) Bind multiple arguments to a named query parameter using the given Class reference to attempt to determine theBindableTypeto use.<P> NativeQuery<T>setParameterList(String name, P[] values, BindableType<P> type) Bind multiple arguments to a named query parameter using the givenBindableType.<P> NativeQuery<T>setParameterList(QueryParameter<P> parameter, Collection<? extends P> values) Bind multiple arguments to the query parameter represented by the givenQueryParameter.<P> NativeQuery<T>setParameterList(QueryParameter<P> parameter, Collection<? extends P> values, Class<P> javaType) Bind multiple arguments to the query parameter represented by the givenQueryParameterusing the given Class reference to attempt to determine theBindableTypeto use.<P> NativeQuery<T>setParameterList(QueryParameter<P> parameter, Collection<? extends P> values, BindableType<P> type) Bind multiple arguments to the query parameter represented by the givenQueryParameter, inferring theBindableType.<P> NativeQuery<T>setParameterList(QueryParameter<P> parameter, P[] values) Bind multiple arguments to the query parameter represented by the givenQueryParameter.<P> NativeQuery<T>setParameterList(QueryParameter<P> parameter, P[] values, Class<P> javaType) Bind multiple arguments to the query parameter represented by the givenQueryParameterusing the givenClassreference to attempt to determine theBindableTypeto use.<P> NativeQuery<T>setParameterList(QueryParameter<P> parameter, P[] values, BindableType<P> type) Bind multiple arguments to the query parameter represented by the givenQueryParameter, inferring 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 bean) Bind the values of the givenMapfor each named parameters of the query, matching key names with parameter names and mapping value types to Hibernate types using heuristics.setReadOnly(boolean readOnly) Set the read-only/modifiable mode for entities and proxies loaded by thisQuery.setResultListTransformer(ResultListTransformer<T> transformer) Set aResultListTransformer.<S> NativeQuery<S>setResultTransformer(ResultTransformer<S> transformer) Deprecated.setTimeout(int timeout) Set the query timeout in seconds.<R> NativeQuery<R>setTupleTransformer(TupleTransformer<R> transformer) Set aTupleTransformer.Methods inherited from interface org.hibernate.query.CommonQueryContract
getFlushMode, getHibernateFlushMode, getTimeoutMethods inherited from interface jakarta.persistence.Query
getCacheRetrieveMode, getCacheStoreMode, getFirstResult, getFlushMode, getHints, getMaxResults, getParameter, getParameter, getParameter, getParameter, getParameters, getParameterValue, getParameterValue, getParameterValue, getTimeout, isBound, unwrapMethods inherited from interface org.hibernate.query.Query
applyFetchGraph, applyGraph, applyLoadGraph, disableFetchProfile, enableFetchProfile, executeUpdate, getComment, getParameterMetadata, getQueryOptions, getQueryString, getResultList, getResultStream, getSession, getSingleResult, list, scroll, scroll, setEntityGraph, setOrder, setOrder, setPage, stream, uniqueResult, uniqueResultOptionalMethods inherited from interface org.hibernate.query.SelectionQuery
getCacheMode, getCacheRegion, getCacheRetrieveMode, getCacheStoreMode, getFetchSize, getFirstResult, getKeyedResultList, getMaxResults, getResultCount, getSingleResultOrNull, isCacheable, isQueryPlanCacheable, isReadOnly, setAliasSpecificLockMode, setFollowOnLocking, setQueryPlanCacheableMethods inherited from interface org.hibernate.query.SynchronizeableQuery
getSynchronizedQuerySpacesMethods inherited from interface jakarta.persistence.TypedQuery
getSingleResultOrNull, setTimeout
-
Method Details
-
addScalar
Declare a scalar query result. Hibernate will attempt to automatically detect the underlying type.Functions like
<return-scalar/>inhbm.xmlorColumnResultin annotations- Parameters:
columnAlias- The column alias in the result set to be processed as a scalar result- Returns:
this, for method chaining
-
addScalar
Declare a scalar query result.Functions like
<return-scalar/>inhbm.xmlorColumnResultin annotations.- Parameters:
columnAlias- The column alias in the result set to be processed as a scalar resulttype- The Hibernate type as which to treat the value.- Returns:
this, for method chaining
-
addScalar
Declare a scalar query result.Functions like
<return-scalar/>inhbm.xmlorColumnResultin annotations.- Parameters:
columnAlias- The column alias in the result set to be processed as a scalar resulttype- The Hibernate type as which to treat the value.- Returns:
this, for method chaining
-
addScalar
Declare a scalar query result using the specified result type.Hibernate will implicitly determine an appropriate conversion, if it can. Otherwise, an exception will be thrown.
- Returns:
this, for method chaining- Since:
- 6.0
-
addScalar
<C> NativeQuery<T> addScalar(String columnAlias, Class<C> relationalJavaType, AttributeConverter<?, C> converter) Declare a scalar query result with an explicit conversion.- Parameters:
relationalJavaType- The Java type expected by the converter as its "relational" type.converter- The conversion to apply. Consumes the JDBC value based onrelationalJavaType.- Returns:
this, for method chaining- Since:
- 6.0
-
addScalar
<O,R> NativeQuery<T> addScalar(String columnAlias, Class<O> domainJavaType, Class<R> jdbcJavaType, AttributeConverter<O, R> converter) Declare a scalar query result with an explicit conversion.- Parameters:
jdbcJavaType- The Java type expected by the converter as its "relational model" type.domainJavaType- The Java type expected by the converter as its "object model" type.converter- The conversion to apply. Consumes the JDBC value based onrelationalJavaType.- Returns:
this, for method chaining- Since:
- 6.0
-
addScalar
<C> NativeQuery<T> addScalar(String columnAlias, Class<C> relationalJavaType, Class<? extends AttributeConverter<?, C>> converter) Declare a scalar query result with an explicit conversion.- Parameters:
relationalJavaType- The Java type expected by the converter as its "relational" type.converter- The conversion to apply. Consumes the JDBC value based onrelationalJavaType.- Returns:
this, for method chaining- Since:
- 6.0
-
addScalar
<O,R> NativeQuery<T> addScalar(String columnAlias, Class<O> domainJavaType, Class<R> jdbcJavaType, Class<? extends AttributeConverter<O, R>> converter) Declare a scalar query result with an explicit conversion.- Parameters:
jdbcJavaType- The Java type expected by the converter as its "relational model" type.domainJavaType- The Java type expected by the converter as its "object model" type.converter- The conversion to apply. Consumes the JDBC value based onrelationalJavaType.- Returns:
this, for method chaining- Since:
- 6.0
-
addInstantiation
-
addAttributeResult
Defines a result based on a specified attribute. Differs from adding a scalar in that any conversions or other semantics defined on the attribute are automatically applied to the mapping.- Returns:
this, for method chaining- Since:
- 6.0
-
addAttributeResult
Defines a result based on a specified attribute. Differs from adding a scalar in that any conversions or other semantics defined on the attribute are automatically applied to the mapping.- Returns:
this, for method chaining- Since:
- 6.0
-
addAttributeResult
Defines a result based on a specified attribute. Differs from adding a scalar in that any conversions or other semantics defined on the attribute are automatically applied to the mapping.This form accepts the JPA Attribute mapping describing the attribute
- Returns:
this, for method chaining- Since:
- 6.0
-
addRoot
Add a new root return mapping, returning aNativeQuery.RootReturnto allow further definition.- Parameters:
tableAlias- The SQL table alias to map to this entityentityName- The name of the entity- Returns:
- The return config object for further control.
- Since:
- 3.6
-
addRoot
Add a new root return mapping, returning aNativeQuery.RootReturnto allow further definition.- Parameters:
tableAlias- The SQL table alias to map to this entityentityType- The java type of the entity- Returns:
- The return config object for further control.
- Since:
- 3.6
-
addEntity
Declare a "root" entity, without specifying an alias. The expectation here is that the table alias is the same as the unqualified entity name.Use
addRoot(java.lang.String, java.lang.String)if you need further control of the mapping- Parameters:
entityName- The entity name that is the root return of the query- Returns:
this, for method chaining
-
addEntity
Declare a "root" entity.- Parameters:
tableAlias- The SQL table aliasentityName- The entity name- Returns:
this, for method chaining
-
addEntity
Declare a "root" entity, specifying a lock mode.- Parameters:
tableAlias- The SQL table aliasentityName- The entity namelockMode- The lock mode for this return.- Returns:
this, for method chaining
-
addEntity
Declare a "root" entity, without specifying an alias. The expectation here is that the table alias is the same as the unqualified entity name.- Parameters:
entityType- The java type of the entity to add as a root- Returns:
this, for method chaining
-
addEntity
Declare a "root" entity.- Parameters:
tableAlias- The SQL table aliasentityType- The java type of the entity to add as a root- Returns:
this, for method chaining
-
addEntity
Declare a "root" entity, specifying a lock mode.- Parameters:
tableAlias- The SQL table aliasentityClass- The entityClasslockMode- The lock mode for this return- Returns:
this, for method chaining
-
addFetch
NativeQuery.FetchReturn addFetch(String tableAlias, String ownerTableAlias, String joinPropertyName) Declare a join fetch result.- Parameters:
tableAlias- The SQL table alias for the data to be mapped to this fetch.ownerTableAlias- Identify the table alias of the owner of this association. Should match the alias of a previously added root or fetch.joinPropertyName- The name of the property being join fetched.- Returns:
- The return config object for further control.
- Since:
- 3.6
-
addJoin
Declare a join fetch result.- Parameters:
tableAlias- The SQL table alias for the data to be mapped to this fetch.path- The association path of form[owner-alias].[property-name].- Returns:
this, for method chaining
-
addJoin
Declare a join fetch result.- Parameters:
tableAlias- The SQL table alias for the data to be mapped to this fetchownerTableAlias- Identify the table alias of the owner of this association. Should match the alias of a previously added root or fetch.joinPropertyName- The name of the property being join fetched.- Returns:
this, for method chaining- Since:
- 3.6
-
addJoin
Declare a join fetch result, specifying a lock mode.- Parameters:
tableAlias- The SQL table alias for the data to be mapped to this fetchpath- The association path of form[owner-alias].[property-name].lockMode- The lock mode for this return.- Returns:
this, for method chaining
-
addSynchronizedQuerySpace
Description copied from interface:SynchronizeableQueryAdd a query space. The effect of this call is to:- force an auto-flush if any entity associated with the current session and mapped to the given query space has pending changes which have not yet been synchronized with the database, and
- if the result set of this query is cached, mark it for invalidation when any entity mapped to the given query space is synchronized with the database in any session.
- Specified by:
addSynchronizedQuerySpacein interfaceSynchronizeableQuery- Parameters:
querySpace- The name of the query space, usually the name of a database table.- Returns:
this, for method chaining
-
addSynchronizedEntityName
Description copied from interface:SynchronizeableQueryAdd all query spaces associated with the entity with the given names.Same as
SynchronizeableQuery.addSynchronizedQuerySpace(java.lang.String)for all tables mapped by the given entity.- Specified by:
addSynchronizedEntityNamein interfaceSynchronizeableQuery- Parameters:
entityName- The name of an entity.- Returns:
this, for method chaining- Throws:
MappingException- Indicates the given name could not be resolved as an entity
-
addSynchronizedEntityClass
Description copied from interface:SynchronizeableQueryAdd all query spaces associated with the entity with the given type.Same as
SynchronizeableQuery.addSynchronizedQuerySpace(java.lang.String)for all tables mapped by the given entity.- Specified by:
addSynchronizedEntityClassin interfaceSynchronizeableQuery- Parameters:
entityClass- The class of the entity.- Returns:
this, for method chaining- Throws:
MappingException- Indicates the given class could not be resolved as an entity
-
setHibernateFlushMode
Description copied from interface:CommonQueryContractSet the currentFlushModein effect for this query.- Specified by:
setHibernateFlushModein interfaceCommonQueryContract- Specified by:
setHibernateFlushModein interfaceMutationQuery- Specified by:
setHibernateFlushModein interfaceQuery<T>- Specified by:
setHibernateFlushModein interfaceSelectionQuery<T>- See Also:
-
setFlushMode
Description copied from interface:CommonQueryContractSet theFlushModein to use for this query.- Specified by:
setFlushModein interfaceCommonQueryContract- Specified by:
setFlushModein interfaceMutationQuery- Specified by:
setFlushModein interfaceQuery- Specified by:
setFlushModein interfaceQuery<T>- Specified by:
setFlushModein interfaceSelectionQuery<T>- Specified by:
setFlushModein interfaceTypedQuery<T>- See Also:
-
setCacheMode
Description copied from interface:SelectionQuerySet the currentCacheModein effect for this query.- Specified by:
setCacheModein interfaceQuery<T>- Specified by:
setCacheModein interfaceSelectionQuery<T>- See Also:
-
setCacheStoreMode
- Specified by:
setCacheStoreModein interfaceQuery- Specified by:
setCacheStoreModein interfaceQuery<T>- Specified by:
setCacheStoreModein interfaceSelectionQuery<T>- Specified by:
setCacheStoreModein interfaceTypedQuery<T>- See Also:
-
setCacheRetrieveMode
- Specified by:
setCacheRetrieveModein interfaceQuery- Specified by:
setCacheRetrieveModein interfaceQuery<T>- Specified by:
setCacheRetrieveModein interfaceSelectionQuery<T>- Specified by:
setCacheRetrieveModein interfaceTypedQuery<T>- See Also:
-
setCacheable
Description copied from interface:SelectionQueryEnable/disable second level query (result) caching for this query.- Specified by:
setCacheablein interfaceQuery<T>- Specified by:
setCacheablein interfaceSelectionQuery<T>- See Also:
-
setCacheRegion
Description copied from interface:SelectionQuerySet the name of the cache region where query results should be cached (assumingSelectionQuery.isCacheable()).nullindicates to use the default region.- Specified by:
setCacheRegionin interfaceQuery<T>- Specified by:
setCacheRegionin interfaceSelectionQuery<T>- See Also:
-
setTimeout
Description copied from interface:CommonQueryContractSet 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:
setTimeoutin interfaceCommonQueryContract- Specified by:
setTimeoutin interfaceMutationQuery- Specified by:
setTimeoutin interfaceQuery<T>- Specified by:
setTimeoutin interfaceSelectionQuery<T>- Parameters:
timeout- the timeout in seconds- Returns:
this, for method chaining- See Also:
-
setFetchSize
Description copied from interface:SelectionQuerySets a JDBC fetch size hint for the query.- Specified by:
setFetchSizein interfaceQuery<T>- Specified by:
setFetchSizein interfaceSelectionQuery<T>- Parameters:
fetchSize- the fetch size hint- Returns:
this, for method chaining- See Also:
-
setReadOnly
Description copied from interface:SelectionQuerySet the read-only/modifiable mode for entities and proxies loaded by thisQuery. This setting overrides the default setting for the persistence context,Session.isDefaultReadOnly().To set the default read-only/modifiable setting used for entities and proxies that are loaded into the session, use
Session.setDefaultReadOnly(boolean).Read-only entities are not dirty-checked and snapshots of persistent state are not maintained. Read-only entities can be modified, but changes are not persisted.
When a proxy is initialized, the loaded entity will have the same read-only/modifiable setting as the uninitialized proxy has, regardless of the session's current setting.
The read-only/modifiable setting has no impact on entities/proxies returned by the query that existed in the session beforeQuery the query was executed.
- Specified by:
setReadOnlyin interfaceQuery<T>- Specified by:
setReadOnlyin interfaceSelectionQuery<T>- Parameters:
readOnly-trueindicates that entities and proxies loaded by the query are to be put in read-only mode;falseindicates that entities and proxies loaded by the query will be put in modifiable mode- Returns:
this, for method chaining
-
getLockOptions
LockOptions getLockOptions()Description copied from interface:QueryObtains theLockOptionsin effect for this query.- Specified by:
getLockOptionsin interfaceQuery<T>- Specified by:
getLockOptionsin interfaceSelectionQuery<T>- Returns:
- The
LockOptionscurrently in effect - See Also:
-
setLockOptions
Description copied from interface:QueryApply the given lock options to this query. Alias-specific lock modes in the given lock options are merged with any alias-specific lock mode which have already been set. If a lock mode has already been specified for an alias that is among the aliases in the given lock options, the lock mode specified in the given lock options overrides the lock mode that was already set.- Specified by:
setLockOptionsin interfaceQuery<T>- Parameters:
lockOptions- The lock options to apply to the query.- Returns:
this, for method chaining- See Also:
-
setLockMode
Not applicable to native SQL queries.- Specified by:
setLockModein interfaceQuery<T>- Specified by:
setLockModein interfaceSelectionQuery<T>- Parameters:
alias- A query aliaslockMode- The lock mode to apply- Returns:
this, for method chaining- Throws:
IllegalStateException- for consistency with JPA- See Also:
-
setComment
Description copied from interface:QuerySet the comment for this query.If SQL commenting is enabled, the comment will be added to the SQL query sent to the database, which may be useful for identifying the source of troublesome queries.
SQL commenting may be enabled using the configuration property "hibernate.use_sql_comments".
- Specified by:
setCommentin interfaceCommonQueryContract- Specified by:
setCommentin interfaceMutationQuery- Specified by:
setCommentin interfaceQuery<T>- Specified by:
setCommentin interfaceSelectionQuery<T>- Parameters:
comment- The human-readable comment- Returns:
this, for method chaining- See Also:
-
addQueryHint
Description copied from interface:QueryAdd a database query hint to the SQL query.A database hint is a completely different concept to a JPA hint specified using
QueryHintorQuery.getHints(). These are hints to the JPA provider.Multiple query hints may be specified. The operation
Dialect.getQueryHintString(String, List)determines how the hint is actually added to the SQL query.- Specified by:
addQueryHintin interfaceQuery<T>- Parameters:
hint- The database specific query hint to add.
-
setMaxResults
Description copied from interface:SelectionQuerySet the max number of rows requested for the query results. Applied to the SQL query- Specified by:
setMaxResultsin interfaceQuery- Specified by:
setMaxResultsin interfaceQuery<T>- Specified by:
setMaxResultsin interfaceSelectionQuery<T>- Specified by:
setMaxResultsin interfaceTypedQuery<T>
-
setFirstResult
Description copied from interface:SelectionQuerySet the first row position to return from the query results. Applied to the SQL query.- Specified by:
setFirstResultin interfaceQuery- Specified by:
setFirstResultin interfaceQuery<T>- Specified by:
setFirstResultin interfaceSelectionQuery<T>- Specified by:
setFirstResultin interfaceTypedQuery<T>
-
setHint
Description copied from interface:CommonQueryContractSet a hint. The hints understood by Hibernate are enumerated byAvailableHints.- Specified by:
setHintin interfaceCommonQueryContract- Specified by:
setHintin interfaceMutationQuery- Specified by:
setHintin interfaceQuery- Specified by:
setHintin interfaceQuery<T>- Specified by:
setHintin interfaceSelectionQuery<T>- Specified by:
setHintin interfaceTypedQuery<T>- See Also:
-
getLockMode
LockModeType getLockMode()Not applicable to native SQL queries, due to an unfortunate requirement of the JPA specification.Use
getHibernateLockMode()to obtain the lock mode.- Specified by:
getLockModein interfaceQuery- Specified by:
getLockModein interfaceSelectionQuery<T>- Throws:
IllegalStateException- as required by JPA- See Also:
-
getHibernateLockMode
LockMode getHibernateLockMode()Description copied from interface:SelectionQueryGet the rootLockModefor the query- Specified by:
getHibernateLockModein interfaceSelectionQuery<T>- See Also:
-
setLockMode
Not applicable to native SQL queries, due to an unfortunate requirement of the JPA specification.Use
setHibernateLockMode(LockMode)or the hint named "org.hibernate.lockMode" to set the lock mode.- Specified by:
setLockModein interfaceQuery- Specified by:
setLockModein interfaceQuery<T>- Specified by:
setLockModein interfaceSelectionQuery<T>- Specified by:
setLockModein interfaceTypedQuery<T>- Throws:
IllegalStateException- as required by JPA- See Also:
-
setHibernateLockMode
Description copied from interface:SelectionQuerySpecify the rootLockModefor the query- Specified by:
setHibernateLockModein interfaceSelectionQuery<T>- See Also:
-
setTupleTransformer
Description copied from interface:QuerySet aTupleTransformer.- Specified by:
setTupleTransformerin interfaceQuery<T>
-
setResultListTransformer
Description copied from interface:QuerySet aResultListTransformer.- Specified by:
setResultListTransformerin interfaceQuery<T>
-
setResultTransformer
Deprecated.- Specified by:
setResultTransformerin interfaceQuery<T>
-
setParameter
Description copied from interface:QueryBind 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 accept a "type".
- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceQuery- Specified by:
setParameterin interfaceQuery<T>- Specified by:
setParameterin interfaceSelectionQuery<T>- Specified by:
setParameterin interfaceTypedQuery<T>- See Also:
-
setParameter
Description copied from interface:QueryBind the given argument to a named query parameter using the given Class reference to attempt to determine theBindableTypeto use. If unable to determine an appropriateBindableType,Query.setParameter(String, Object)is used.- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceQuery<T>- Specified by:
setParameterin interfaceSelectionQuery<T>- See Also:
-
setParameter
Description copied from interface:QueryBind the given argument to a named query parameter using the givenBindableType.- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceQuery<T>- Specified by:
setParameterin interfaceSelectionQuery<T>
-
setParameter
Description copied from interface:QueryBind anInstantvalue to the named query parameter using just the portion indicated by the givenTemporalType.- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceQuery<T>- Specified by:
setParameterin interfaceSelectionQuery<T>
-
setParameter
Description copied from interface:QueryQueryoverride- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceQuery- Specified by:
setParameterin interfaceQuery<T>- Specified by:
setParameterin interfaceSelectionQuery<T>- Specified by:
setParameterin interfaceTypedQuery<T>- See Also:
-
setParameter
Description copied from interface:QueryQueryoverride- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceQuery- Specified by:
setParameterin interfaceQuery<T>- Specified by:
setParameterin interfaceSelectionQuery<T>- Specified by:
setParameterin interfaceTypedQuery<T>- See Also:
-
setParameter
Description copied from interface:QueryBind 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:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceQuery- Specified by:
setParameterin interfaceQuery<T>- Specified by:
setParameterin interfaceSelectionQuery<T>- Specified by:
setParameterin interfaceTypedQuery<T>- See Also:
-
setParameter
Description copied from interface:QueryBind the given argument to an ordinal query parameter using the given Class reference to attempt to determine theBindableTypeto use. If unable to determine an appropriateBindableType,Query.setParameter(int, Object)is used.- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceQuery<T>- Specified by:
setParameterin interfaceSelectionQuery<T>- See Also:
-
setParameter
Description copied from interface:QueryBind the given argument to an ordinal query parameter using the givenBindableType.- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceQuery<T>- Specified by:
setParameterin interfaceSelectionQuery<T>
-
setParameter
Description copied from interface:QueryBind anInstantvalue to the ordinal query parameter using just the portion indicated by the givenTemporalType.- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceQuery<T>- Specified by:
setParameterin interfaceSelectionQuery<T>
-
setParameter
Description copied from interface:QueryQueryoverride- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceQuery- Specified by:
setParameterin interfaceQuery<T>- Specified by:
setParameterin interfaceSelectionQuery<T>- Specified by:
setParameterin interfaceTypedQuery<T>- See Also:
-
setParameter
Description copied from interface:QueryQueryoverride- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceQuery- Specified by:
setParameterin interfaceQuery<T>- Specified by:
setParameterin interfaceSelectionQuery<T>- Specified by:
setParameterin interfaceTypedQuery<T>- See Also:
-
setParameter
Description copied from interface:QueryBind 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:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceQuery<T>- Specified by:
setParameterin interfaceSelectionQuery<T>- Parameters:
parameter- the query parameter mementoval- the argument, which might be null- Returns:
this, for method chaining- See Also:
-
setParameter
Description copied from interface:QueryBind an argument to the query parameter represented by the givenQueryParameterusing the given Class reference to attempt to determine theBindableTypeto use. If unable to determine an appropriateBindableType,Query.setParameter(QueryParameter, Object)is used- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceQuery<T>- Specified by:
setParameterin interfaceSelectionQuery<T>- Parameters:
parameter- the query parameter mementoval- the argument, which might be nulltype- aBindableTyperepresenting the type of the parameter- Returns:
this, for method chaining- See Also:
-
setParameter
Description copied from interface:QueryBind an argument to the query parameter represented by the givenQueryParameterusing the givenBindableType.- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceQuery<T>- Specified by:
setParameterin interfaceSelectionQuery<T>- Parameters:
parameter- the query parameter mementoval- the argument, which might be nulltype- anBindableTyperepresenting the type of the parameter- Returns:
this, for method chaining
-
setParameter
Description copied from interface:QueryQueryoverride- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceQuery- Specified by:
setParameterin interfaceQuery<T>- Specified by:
setParameterin interfaceSelectionQuery<T>- Specified by:
setParameterin interfaceTypedQuery<T>- See Also:
-
setParameter
Description copied from interface:QueryQueryoverride- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceQuery- Specified by:
setParameterin interfaceQuery<T>- Specified by:
setParameterin interfaceSelectionQuery<T>- Specified by:
setParameterin interfaceTypedQuery<T>- See Also:
-
setParameter
Description copied from interface:QueryQueryoverride- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceQuery- Specified by:
setParameterin interfaceQuery<T>- Specified by:
setParameterin interfaceSelectionQuery<T>- Specified by:
setParameterin interfaceTypedQuery<T>- See Also:
-
setParameterList
Description copied from interface:QueryBind 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:
setParameterListin interfaceCommonQueryContract- Specified by:
setParameterListin interfaceMutationQuery- Specified by:
setParameterListin interfaceQuery<T>- Specified by:
setParameterListin interfaceSelectionQuery<T>- Returns:
this, for method chaining- See Also:
-
setParameterList
Description copied from interface:QueryBind multiple arguments to a named query parameter using the given Class reference to attempt to determine theBindableTypeto use. If unable to determine an appropriateBindableType,Query.setParameterList(String, Collection)is used.- Specified by:
setParameterListin interfaceCommonQueryContract- Specified by:
setParameterListin interfaceMutationQuery- Specified by:
setParameterListin interfaceQuery<T>- Specified by:
setParameterListin interfaceSelectionQuery<T>- Returns:
this, for method chaining- See Also:
-
setParameterList
<P> NativeQuery<T> setParameterList(String name, Collection<? extends P> values, BindableType<P> type) Description copied from interface:QueryBind multiple arguments to a named query parameter using the givenBindableType.- Specified by:
setParameterListin interfaceCommonQueryContract- Specified by:
setParameterListin interfaceMutationQuery- Specified by:
setParameterListin interfaceQuery<T>- Specified by:
setParameterListin interfaceSelectionQuery<T>- Returns:
this, for method chaining
-
setParameterList
Description copied from interface:QueryBind 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:
setParameterListin interfaceCommonQueryContract- Specified by:
setParameterListin interfaceMutationQuery- Specified by:
setParameterListin interfaceQuery<T>- Specified by:
setParameterListin interfaceSelectionQuery<T>- Returns:
this, for method chaining
-
setParameterList
Description copied from interface:QueryBind multiple arguments to a named query parameter using the given Class reference to attempt to determine theBindableTypeto use. If unable to determine an appropriateBindableType,Query.setParameterList(String, Collection)is used.- Specified by:
setParameterListin interfaceCommonQueryContract- Specified by:
setParameterListin interfaceMutationQuery- Specified by:
setParameterListin interfaceQuery<T>- Specified by:
setParameterListin interfaceSelectionQuery<T>- Returns:
this, for method chaining- See Also:
-
setParameterList
Description copied from interface:QueryBind multiple arguments to a named query parameter using the givenBindableType.- Specified by:
setParameterListin interfaceCommonQueryContract- Specified by:
setParameterListin interfaceMutationQuery- Specified by:
setParameterListin interfaceQuery<T>- Specified by:
setParameterListin interfaceSelectionQuery<T>- Returns:
this, for method chaining
-
setParameterList
Description copied from interface:QueryBind 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:
setParameterListin interfaceCommonQueryContract- Specified by:
setParameterListin interfaceMutationQuery- Specified by:
setParameterListin interfaceQuery<T>- Specified by:
setParameterListin interfaceSelectionQuery<T>- Returns:
this, for method chaining
-
setParameterList
Description copied from interface:QueryBind multiple arguments to an ordinal query parameter using the given Class reference to attempt to determine theBindableTypeto use. If unable to determine an appropriateBindableType,Query.setParameterList(String, Collection)is used.- Specified by:
setParameterListin interfaceCommonQueryContract- Specified by:
setParameterListin interfaceMutationQuery- Specified by:
setParameterListin interfaceQuery<T>- Specified by:
setParameterListin interfaceSelectionQuery<T>- Returns:
this, for method chaining- See Also:
-
setParameterList
<P> NativeQuery<T> setParameterList(int position, Collection<? extends P> values, BindableType<P> javaType) Description copied from interface:QueryBind multiple arguments to an ordinal query parameter using the givenBindableType.- Specified by:
setParameterListin interfaceCommonQueryContract- Specified by:
setParameterListin interfaceMutationQuery- Specified by:
setParameterListin interfaceQuery<T>- Specified by:
setParameterListin interfaceSelectionQuery<T>- Returns:
this, for method chaining
-
setParameterList
Description copied from interface:QueryBind 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:
setParameterListin interfaceCommonQueryContract- Specified by:
setParameterListin interfaceMutationQuery- Specified by:
setParameterListin interfaceQuery<T>- Specified by:
setParameterListin interfaceSelectionQuery<T>- Returns:
this, for method chaining
-
setParameterList
Description copied from interface:QueryBind multiple arguments to an ordinal query parameter using the givenClassreference to attempt to determine theBindableTypeto use. If unable to determine an appropriateBindableType,Query.setParameterList(String, Collection)is used.- Specified by:
setParameterListin interfaceCommonQueryContract- Specified by:
setParameterListin interfaceMutationQuery- Specified by:
setParameterListin interfaceQuery<T>- Specified by:
setParameterListin interfaceSelectionQuery<T>- Returns:
this, for method chaining- See Also:
-
setParameterList
Description copied from interface:QueryBind multiple arguments to an ordinal query parameter using the givenBindableType.- Specified by:
setParameterListin interfaceCommonQueryContract- Specified by:
setParameterListin interfaceMutationQuery- Specified by:
setParameterListin interfaceQuery<T>- Specified by:
setParameterListin interfaceSelectionQuery<T>- Returns:
this, for method chaining
-
setParameterList
Description copied from interface:QueryBind 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:
setParameterListin interfaceCommonQueryContract- Specified by:
setParameterListin interfaceMutationQuery- Specified by:
setParameterListin interfaceQuery<T>- Specified by:
setParameterListin interfaceSelectionQuery<T>- Parameters:
parameter- the parameter mementovalues- a collection of arguments- Returns:
this, for method chaining
-
setParameterList
<P> NativeQuery<T> setParameterList(QueryParameter<P> parameter, Collection<? extends P> values, Class<P> javaType) Description copied from interface:QueryBind multiple arguments to the query parameter represented by the givenQueryParameterusing the given Class reference to attempt to determine theBindableTypeto use. If unable to determine an appropriateBindableType,Query.setParameterList(String, Collection)is used.- Specified by:
setParameterListin interfaceCommonQueryContract- Specified by:
setParameterListin interfaceMutationQuery- Specified by:
setParameterListin interfaceQuery<T>- Specified by:
setParameterListin interfaceSelectionQuery<T>- Returns:
this, for method chaining- See Also:
-
setParameterList
<P> NativeQuery<T> setParameterList(QueryParameter<P> parameter, Collection<? extends P> values, BindableType<P> type) Description copied from interface:QueryBind multiple arguments to the query parameter represented by the givenQueryParameter, inferring theBindableType.The "type mapping" for the binding is inferred from the type of the first collection element.
- Specified by:
setParameterListin interfaceCommonQueryContract- Specified by:
setParameterListin interfaceMutationQuery- Specified by:
setParameterListin interfaceQuery<T>- Specified by:
setParameterListin interfaceSelectionQuery<T>- Returns:
this, for method chaining
-
setParameterList
Description copied from interface:QueryBind 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:
setParameterListin interfaceCommonQueryContract- Specified by:
setParameterListin interfaceMutationQuery- Specified by:
setParameterListin interfaceQuery<T>- Specified by:
setParameterListin interfaceSelectionQuery<T>- Parameters:
parameter- the parameter mementovalues- a collection of arguments- Returns:
this, for method chaining
-
setParameterList
Description copied from interface:QueryBind multiple arguments to the query parameter represented by the givenQueryParameterusing the givenClassreference to attempt to determine theBindableTypeto use. If unable to determine an appropriateBindableType,Query.setParameterList(String, Collection)is used.- Specified by:
setParameterListin interfaceCommonQueryContract- Specified by:
setParameterListin interfaceMutationQuery- Specified by:
setParameterListin interfaceQuery<T>- Specified by:
setParameterListin interfaceSelectionQuery<T>- Returns:
this, for method chaining- See Also:
-
setParameterList
Description copied from interface:QueryBind multiple arguments to the query parameter represented by the givenQueryParameter, inferring theBindableType.The "type mapping" for the binding is inferred from the type of the first collection element
- Specified by:
setParameterListin interfaceCommonQueryContract- Specified by:
setParameterListin interfaceMutationQuery- Specified by:
setParameterListin interfaceQuery<T>- Specified by:
setParameterListin interfaceSelectionQuery<T>- Returns:
this, for method chaining
-
setProperties
Description copied from interface:QueryBind 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:
setPropertiesin interfaceCommonQueryContract- Specified by:
setPropertiesin interfaceMutationQuery- Specified by:
setPropertiesin interfaceQuery<T>- Specified by:
setPropertiesin interfaceSelectionQuery<T>- Parameters:
bean- any JavaBean or POJO- Returns:
this, for method chaining
-
setProperties
Description copied from interface:QueryBind the values of the givenMapfor each named parameters of the query, matching key names with parameter names and mapping value types to Hibernate types using heuristics.- Specified by:
setPropertiesin interfaceCommonQueryContract- Specified by:
setPropertiesin interfaceMutationQuery- Specified by:
setPropertiesin interfaceQuery<T>- Specified by:
setPropertiesin interfaceSelectionQuery<T>- Parameters:
bean- aMapof names to arguments- Returns:
this, for method chaining
-