Package org.hibernate.procedure.internal
Class ProcedureCallImpl<R>
- java.lang.Object
-
- org.hibernate.query.spi.AbstractCommonQueryContract
-
- org.hibernate.query.spi.AbstractSelectionQuery<R>
-
- org.hibernate.query.spi.AbstractQuery<R>
-
- org.hibernate.procedure.internal.ProcedureCallImpl<R>
-
- All Implemented Interfaces:
jakarta.persistence.Query,jakarta.persistence.StoredProcedureQuery,jakarta.persistence.TypedQuery<R>,AutoCloseable,ProcedureCall,ProcedureCallImplementor<R>,CommonQueryContract,MutationQuery,NameableQuery,Query<R>,SelectionQuery<R>,DomainQueryExecutionContext,QueryImplementor<R>,SynchronizeableQuery,ResultContext
public class ProcedureCallImpl<R> extends AbstractQuery<R> implements ProcedureCallImplementor<R>, ResultContext
Standard implementation ofProcedureCall
-
-
Field Summary
-
Fields inherited from class org.hibernate.query.spi.AbstractQuery
log
-
Fields inherited from class org.hibernate.query.spi.AbstractSelectionQuery
CRITERIA_HQL_STRING
-
Fields inherited from interface org.hibernate.procedure.ProcedureCall
FUNCTION_RETURN_TYPE_HINT
-
-
Constructor Summary
Constructors Constructor Description ProcedureCallImpl(SharedSessionContractImplementor session, String procedureName)The no-returns form.ProcedureCallImpl(SharedSessionContractImplementor session, String procedureName, Class<?>... resultClasses)The result Class(es) return formProcedureCallImpl(SharedSessionContractImplementor session, String procedureName, String... resultSetMappingNames)The result-set-mapping(s) return formProcedureCallImpl(SharedSessionContractImplementor session, NamedCallableQueryMementoImpl memento, String... resultSetMappingNames)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ProcedureCallImplementor<R>addSynchronizedEntityClass(Class entityClass)Adds an entity for (a) auto-flush checking and (b) query result cache invalidation checking.ProcedureCallImplementor<R>addSynchronizedEntityName(String entityName)Adds an entity name for (a) auto-flush checking and (b) query result cache invalidation checking.ProcedureCallImplementor<R>addSynchronizedQuerySpace(String querySpace)Adds a query space.protected voidaddSynchronizedQuerySpaces(EntityPersister persister)Query<R>applyGraph(RootGraph graph, GraphSemantic semantic)Apply the given graph using the given semanticprotected voidapplyGraph(RootGraphImplementor<?> entityGraph, GraphSemantic graphSemantic)protected voidapplyOptions(NamedCallableQueryMemento memento)protected intdoExecuteUpdate()protected List<R>doList()protected ScrollableResultsImplementor<R>doScroll(ScrollMode scrollMode)booleanexecute()FunctionReturnImplementor<R>getFunctionReturn()jakarta.persistence.LockModeTypegetLockMode()Get the rootLockModeTypefor the queryObjectgetOutputParameterValue(int position)ObjectgetOutputParameterValue(String parameterName)ProcedureOutputsgetOutputs()Retrieves access to outputs of this procedure call.QueryParameterBindingsgetParameterBindings()ProcedureParameterMetadataImplgetParameterMetadata()Access to information about query parameters.ProcedureParameterImplementor<?>getParameterRegistration(int position)Retrieve a previously registered parameter memento by the position under which it was registered.ProcedureParameterImplementor<?>getParameterRegistration(String name)Retrieve a previously registered parameter memento by the name under which it was registered.ParameterStrategygetParameterStrategy()StringgetProcedureName()Get the name of the stored procedure (or function) to be called.MutableQueryOptionsgetQueryOptions()Get the execution options for thisQuery.QueryParameterBindingsgetQueryParameterBindings()The domain parameter bindingsStringgetQueryString()The query as a string, ornullin the case of a criteria query.ListgetRegisteredParameters()Retrieve all registered parameters.List<R>getResultList()Execute the query and return the query results as aList.ResultSetMappinggetResultSetMapping()Stream<R>getResultStream()Execute the query and return the query results as aStream.SessionFactoryImplementorgetSessionFactory()RgetSingleResult()Execute the query and return the single result of the query, throwing an exception if the query returns no results.RgetSingleResultOrNull()Execute the query and return the single result of the query, ornullif the query returns no results.Set<String>getSynchronizedQuerySpaces()Obtain the list of query spaces the query is synchronized on.intgetUpdateCount()booleanhasMoreResults()booleanisFunctionCall()Does this ProcedureCall represent a call to a database FUNCTION (as opposed to a PROCEDURE call)? NOTE : this will only report whether this ProcedureCall was marked as a function via call toProcedureCall.markAsFunctionCall(int).ProcedureCallImpl<R>markAsFunctionCall(int sqlType)Mark this ProcedureCall as representing a call to a database function, rather than a database procedure.ProcedureCallImpl<R>markAsFunctionCall(Class<?> resultType)Mark this ProcedureCall as representing a call to a database function, rather than a database procedure.ProcedureCallImpl<R>markAsFunctionCall(BasicTypeReference<?> typeReference)Mark this ProcedureCall as representing a call to a database function, rather than a database procedure.protected ProcedureOutputsoutputs()<T> ProcedureParameter<T>registerParameter(int position, Class<T> javaType, jakarta.persistence.ParameterMode mode)Basic form for registering a positional parameter.<T> ProcedureParameter<T>registerParameter(int position, BasicTypeReference<T> typeReference, jakarta.persistence.ParameterMode mode)Basic form for registering a positional parameter.<T> ProcedureParameterImplementor<T>registerParameter(String name, Class<T> javaType, jakarta.persistence.ParameterMode mode)Basic form for registering a named parameter.<T> ProcedureParameterImplementor<T>registerParameter(String name, BasicTypeReference<T> typeReference, jakarta.persistence.ParameterMode mode)Basic form for registering a named parameter.ProcedureCallImplementor<R>registerStoredProcedureParameter(int position, Class type, jakarta.persistence.ParameterMode mode)ProcedureCallImplementor<R>registerStoredProcedureParameter(int position, BasicTypeReference<?> type, jakarta.persistence.ParameterMode mode)LikeProcedureCall.registerStoredProcedureParameter(int, Class, ParameterMode)but a basic type reference is given instead of a class for the parameter type.ProcedureCallImplementor<R>registerStoredProcedureParameter(String parameterName, Class type, jakarta.persistence.ParameterMode mode)ProcedureCallImplementor<R>registerStoredProcedureParameter(String parameterName, BasicTypeReference<?> type, jakarta.persistence.ParameterMode mode)LikeProcedureCall.registerStoredProcedureParameter(String, Class, ParameterMode)but a basic type reference is given instead of a class for the parameter type.ScrollableResultsImplementor<R>scroll(ScrollMode scrollMode)Returns scrollable access to the query results.ProcedureCallImplementor<R>setFlushMode(jakarta.persistence.FlushModeType flushModeType)Set theFlushModein to use for this query.ProcedureCallImplementor<R>setHint(String hintName, Object value)Apply hints to the query.ProcedureCallImplementor<R>setLockMode(jakarta.persistence.LockModeType lockMode)Specify the root LockModeType for the queryQueryImplementor<R>setLockMode(String alias, LockMode lockMode)Specify aLockModeto apply to a specific alias defined in the queryQueryImplementor<R>setLockOptions(LockOptions lockOptions)Apply the given lock options to this query.ProcedureCallImplementor<R>setParameter(int position, Object value)Bind the given argument to an ordinal query parameter.ProcedureCallImplementor<R>setParameter(int position, Calendar value, jakarta.persistence.TemporalType temporalPrecision)QueryoverrideProcedureCallImplementor<R>setParameter(int position, Date value, jakarta.persistence.TemporalType temporalPrecision)Queryoverride<P> ProcedureCallImplementor<R>setParameter(int position, P value, BindableType<P> type)Bind the given argument to an ordinal query parameter using the givenBindableType.ProcedureCallImplementor<R>setParameter(jakarta.persistence.Parameter<Calendar> parameter, Calendar value, jakarta.persistence.TemporalType temporalPrecision)QueryoverrideProcedureCallImplementor<R>setParameter(jakarta.persistence.Parameter<Date> parameter, Date value, jakarta.persistence.TemporalType temporalPrecision)Queryoverride<P> ProcedureCallImplementor<R>setParameter(jakarta.persistence.Parameter<P> parameter, P value)QueryoverrideProcedureCallImplementor<R>setParameter(String name, Object value)Bind the given argument to a named query parameter.ProcedureCallImplementor<R>setParameter(String name, Calendar value, jakarta.persistence.TemporalType temporalPrecision)QueryoverrideProcedureCallImplementor<R>setParameter(String name, Date value, jakarta.persistence.TemporalType temporalPrecision)Queryoverride<P> ProcedureCallImplementor<R>setParameter(String name, P value, BindableType<P> type)Bind the given argument to a named query parameter using the givenBindableType.<P> ProcedureCallImplementor<R>setParameter(QueryParameter<P> parameter, P value)Bind an argument to the query parameter represented by the givenQueryParameter.<P> ProcedureCallImplementor<R>setParameter(QueryParameter<P> parameter, P value, BindableType<P> type)Bind an argument to the query parameter represented by the givenQueryParameter, using the givenBindableType.protected Set<String>synchronizedQuerySpaces()Use this form instead ofgetSynchronizedQuerySpaces()when you want to make sure the underlying Set is instantiated (aka, on add)NamedCallableQueryMementotoMemento(String name)Convert the query into the memento<T> Tunwrap(Class<T> cls)-
Methods inherited from class org.hibernate.query.spi.AbstractQuery
addQueryHint, applyOptions, collectHints, executeUpdate, getComment, getFirstResult, getFlushMode, getLockOptions, getMaxResults, getParameters, getSupportedHints, isCacheable, prepareForExecution, resolveJdbcParameterTypeIfNecessary, setCacheable, setCacheMode, setCacheRegion, setCacheRetrieveMode, setCacheStoreMode, setComment, setFetchSize, setFirstResult, setHibernateFlushMode, setMaxResults, setOptionalEntityName, setOptionalId, setOptionalObject, setParameter, setParameter, setParameter, setParameter, setParameter, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setProperties, setProperties, setReadOnly, setResultListTransformer, setTimeout, setTupleTransformer
-
Methods inherited from class org.hibernate.query.spi.AbstractSelectionQuery
afterQuery, applyOptions, beforeQuery, buildTupleMetadata, checkQueryReturnType, getCacheMode, getCacheRegion, getCacheRetrieveMode, getCacheStoreMode, getCallback, getFetchSize, getHibernateLockMode, hasAppliedGraph, hasLimit, isReadOnly, list, requiresTxn, resetCallback, scroll, setAliasSpecificLockMode, setFollowOnLocking, setHibernateLockMode, stream, uniqueElement, uniqueResult, uniqueResultOptional, verifyResultType, visitQueryReturnType
-
Methods inherited from class org.hibernate.query.spi.AbstractCommonQueryContract
applyAdditionalPossibleHints, applyAliasSpecificLockModeHint, applyCacheableHint, applyCacheModeHint, applyCacheRegionHint, applyCommentHint, applyEntityGraphHint, applyFetchSizeHint, applyFirstResult, applyFlushModeHint, applyFollowOnLockingHint, applyGraph, applyHibernateLockMode, applyHint, applyJpaCacheRetrieveModeHint, applyJpaCacheStoreModeHint, applyJpaFlushMode, applyLockModeHint, applyLockModeType, applyLockTimeoutHint, applyLockTimeoutHint, applyMaxResults, applyResultListTransformer, applySelectionHint, applySynchronizeSpacesHint, applyTimeoutHint, applyTupleTransformer, determineType, getHibernateFlushMode, getHints, getIntegerLiteral, getJpaFlushMode, getMaxRows, getParameter, getParameter, getParameter, getParameter, getParameterValue, getParameterValue, getParameterValue, getSession, getTimeout, isBound, locateBinding, locateBinding, locateBinding, locateBinding, putIfNotNull, putIfNotNull
-
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, getHibernateFlushMode, getTimeout
-
Methods inherited from interface org.hibernate.query.spi.DomainQueryExecutionContext
getSession
-
Methods inherited from interface org.hibernate.procedure.ProcedureCall
close
-
Methods inherited from interface jakarta.persistence.Query
getFirstResult, getFlushMode, getHints, getMaxResults, getParameter, getParameter, getParameter, getParameter, getParameters, getParameterValue, getParameterValue, getParameterValue, isBound
-
Methods inherited from interface org.hibernate.query.Query
addQueryHint, applyFetchGraph, applyLoadGraph, executeUpdate, getComment, getLockOptions, list, setCacheable, setCacheMode, setCacheRegion, setCacheRetrieveMode, setCacheStoreMode, setComment, setFetchSize, setFirstResult, setHibernateFlushMode, setMaxResults, setReadOnly, setTimeout, stream, uniqueResult, uniqueResultOptional
-
Methods inherited from interface org.hibernate.query.spi.QueryImplementor
getSession, scroll, setOptionalEntityName, setOptionalId, setOptionalObject, setParameter, setParameter, setParameter, setParameter, setParameter, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setParameterList, setProperties, setProperties, setResultListTransformer, setResultTransformer, setTupleTransformer
-
Methods inherited from interface org.hibernate.result.spi.ResultContext
getSession
-
Methods inherited from interface org.hibernate.query.SelectionQuery
getCacheMode, getCacheRegion, getCacheRetrieveMode, getCacheStoreMode, getFetchSize, getFirstResult, getHibernateLockMode, getMaxResults, isCacheable, isReadOnly, setAliasSpecificLockMode, setFollowOnLocking, setHibernateLockMode
-
-
-
-
Constructor Detail
-
ProcedureCallImpl
public ProcedureCallImpl(SharedSessionContractImplementor session, String procedureName)
The no-returns form.- Parameters:
session- The sessionprocedureName- The name of the procedure to call
-
ProcedureCallImpl
public ProcedureCallImpl(SharedSessionContractImplementor session, String procedureName, Class<?>... resultClasses)
The result Class(es) return form- Parameters:
session- The sessionprocedureName- The name of the procedure to callresultClasses- The classes making up the result
-
ProcedureCallImpl
public ProcedureCallImpl(SharedSessionContractImplementor session, String procedureName, String... resultSetMappingNames)
The result-set-mapping(s) return form- Parameters:
session- The sessionprocedureName- The name of the procedure to callresultSetMappingNames- The names of the result set mappings making up the result
-
ProcedureCallImpl
public ProcedureCallImpl(SharedSessionContractImplementor session, NamedCallableQueryMementoImpl memento, String... resultSetMappingNames)
-
-
Method Detail
-
applyOptions
protected void applyOptions(NamedCallableQueryMemento memento)
-
getProcedureName
public String getProcedureName()
Description copied from interface:ProcedureCallGet the name of the stored procedure (or function) to be called.- Specified by:
getProcedureNamein interfaceProcedureCall- Returns:
- The procedure name.
-
getQueryOptions
public MutableQueryOptions getQueryOptions()
Description copied from interface:QueryGet the execution options for thisQuery. Many of the setters of this object update the state of the returnedQueryOptions. This is useful because it gives access to s primitive value in its (nullable) wrapper form, rather than the primitive form as required by JPA. This allows us to distinguish whether a value has been explicitly set by the client.- Specified by:
getQueryOptionsin interfaceDomainQueryExecutionContext- Specified by:
getQueryOptionsin interfaceQuery<R>- Specified by:
getQueryOptionsin interfaceResultContext- Overrides:
getQueryOptionsin classAbstractQuery<R>- Returns:
- Return the encapsulation of this query's options.
-
getParameterMetadata
public ProcedureParameterMetadataImpl getParameterMetadata()
Description copied from interface:QueryAccess to information about query parameters.- Specified by:
getParameterMetadatain interfaceProcedureCallImplementor<R>- Specified by:
getParameterMetadatain interfaceQuery<R>- Specified by:
getParameterMetadatain classAbstractCommonQueryContract- Returns:
- information about query parameters.
-
getQueryParameterBindings
public QueryParameterBindings getQueryParameterBindings()
Description copied from interface:DomainQueryExecutionContextThe domain parameter bindings- Specified by:
getQueryParameterBindingsin interfaceDomainQueryExecutionContext- Specified by:
getQueryParameterBindingsin classAbstractCommonQueryContract
-
getParameterStrategy
public ParameterStrategy getParameterStrategy()
- Specified by:
getParameterStrategyin interfaceProcedureCallImplementor<R>
-
isFunctionCall
public boolean isFunctionCall()
Description copied from interface:ProcedureCallDoes this ProcedureCall represent a call to a database FUNCTION (as opposed to a PROCEDURE call)? NOTE : this will only report whether this ProcedureCall was marked as a function via call toProcedureCall.markAsFunctionCall(int). Specifically will not returntruewhen using JPA query hint.- Specified by:
isFunctionCallin interfaceProcedureCall- Returns:
trueindicates that this ProcedureCall represents a function call;falseindicates a procedure call.
-
getFunctionReturn
public FunctionReturnImplementor<R> getFunctionReturn()
- Specified by:
getFunctionReturnin interfaceProcedureCallImplementor<R>
-
markAsFunctionCall
public ProcedureCallImpl<R> markAsFunctionCall(int sqlType)
Description copied from interface:ProcedureCallMark this ProcedureCall as representing a call to a database function, rather than a database procedure.- Specified by:
markAsFunctionCallin interfaceProcedureCall- Parameters:
sqlType- TheTypescode for the function return- Returns:
this, for method chaining
-
markAsFunctionCall
public ProcedureCallImpl<R> markAsFunctionCall(Class<?> resultType)
Description copied from interface:ProcedureCallMark this ProcedureCall as representing a call to a database function, rather than a database procedure.- Specified by:
markAsFunctionCallin interfaceProcedureCall- Parameters:
resultType- The result type for the function return- Returns:
this, for method chaining
-
markAsFunctionCall
public ProcedureCallImpl<R> markAsFunctionCall(BasicTypeReference<?> typeReference)
Description copied from interface:ProcedureCallMark this ProcedureCall as representing a call to a database function, rather than a database procedure.- Specified by:
markAsFunctionCallin interfaceProcedureCall- Parameters:
typeReference- The result type for the function return- Returns:
this, for method chaining
-
getParameterBindings
public QueryParameterBindings getParameterBindings()
- Specified by:
getParameterBindingsin interfaceQueryImplementor<R>
-
getSessionFactory
public SessionFactoryImplementor getSessionFactory()
- Overrides:
getSessionFactoryin classAbstractSelectionQuery<R>
-
registerStoredProcedureParameter
public ProcedureCallImplementor<R> registerStoredProcedureParameter(int position, Class type, jakarta.persistence.ParameterMode mode)
- Specified by:
registerStoredProcedureParameterin interfaceProcedureCall- Specified by:
registerStoredProcedureParameterin interfaceProcedureCallImplementor<R>- Specified by:
registerStoredProcedureParameterin interfacejakarta.persistence.StoredProcedureQuery
-
registerStoredProcedureParameter
public ProcedureCallImplementor<R> registerStoredProcedureParameter(String parameterName, Class type, jakarta.persistence.ParameterMode mode)
- Specified by:
registerStoredProcedureParameterin interfaceProcedureCall- Specified by:
registerStoredProcedureParameterin interfaceProcedureCallImplementor<R>- Specified by:
registerStoredProcedureParameterin interfacejakarta.persistence.StoredProcedureQuery
-
registerStoredProcedureParameter
public ProcedureCallImplementor<R> registerStoredProcedureParameter(int position, BasicTypeReference<?> type, jakarta.persistence.ParameterMode mode)
Description copied from interface:ProcedureCallLikeProcedureCall.registerStoredProcedureParameter(int, Class, ParameterMode)but a basic type reference is given instead of a class for the parameter type.- Specified by:
registerStoredProcedureParameterin interfaceProcedureCall- Specified by:
registerStoredProcedureParameterin interfaceProcedureCallImplementor<R>
-
registerStoredProcedureParameter
public ProcedureCallImplementor<R> registerStoredProcedureParameter(String parameterName, BasicTypeReference<?> type, jakarta.persistence.ParameterMode mode)
Description copied from interface:ProcedureCallLikeProcedureCall.registerStoredProcedureParameter(String, Class, ParameterMode)but a basic type reference is given instead of a class for the parameter type.- Specified by:
registerStoredProcedureParameterin interfaceProcedureCall- Specified by:
registerStoredProcedureParameterin interfaceProcedureCallImplementor<R>
-
registerParameter
public <T> ProcedureParameter<T> registerParameter(int position, Class<T> javaType, jakarta.persistence.ParameterMode mode)
Description copied from interface:ProcedureCallBasic form for registering a positional parameter.- Specified by:
registerParameterin interfaceProcedureCall- Type Parameters:
T- The parameterized Java type of the parameter.- Parameters:
position- The positionjavaType- The Java type of the parametermode- The parameter mode (in, out, inout)- Returns:
- The parameter registration memento
-
registerParameter
public <T> ProcedureParameter<T> registerParameter(int position, BasicTypeReference<T> typeReference, jakarta.persistence.ParameterMode mode)
Description copied from interface:ProcedureCallBasic form for registering a positional parameter.- Specified by:
registerParameterin interfaceProcedureCall- Type Parameters:
T- The parameterized Java type of the parameter.- Parameters:
position- The positiontypeReference- The type reference of the parameter typemode- The parameter mode (in, out, inout)- Returns:
- The parameter registration memento
-
getParameterRegistration
public ProcedureParameterImplementor<?> getParameterRegistration(int position)
Description copied from interface:ProcedureCallRetrieve a previously registered parameter memento by the position under which it was registered.- Specified by:
getParameterRegistrationin interfaceProcedureCall- Parameters:
position- The parameter position- Returns:
- The parameter registration memento
-
registerParameter
public <T> ProcedureParameterImplementor<T> registerParameter(String name, Class<T> javaType, jakarta.persistence.ParameterMode mode)
Description copied from interface:ProcedureCallBasic form for registering a named parameter.- Specified by:
registerParameterin interfaceProcedureCall- Type Parameters:
T- The parameterized Java type of the parameter.- Parameters:
name- The parameter namejavaType- The Java type of the parametermode- The parameter mode (in, out, inout)- Returns:
- The parameter registration memento
-
registerParameter
public <T> ProcedureParameterImplementor<T> registerParameter(String name, BasicTypeReference<T> typeReference, jakarta.persistence.ParameterMode mode)
Description copied from interface:ProcedureCallBasic form for registering a named parameter.- Specified by:
registerParameterin interfaceProcedureCall- Type Parameters:
T- The parameterized Java type of the parameter.- Parameters:
name- The parameter nametypeReference- The type reference of the parameter typemode- The parameter mode (in, out, inout)- Returns:
- The parameter registration memento
-
getParameterRegistration
public ProcedureParameterImplementor<?> getParameterRegistration(String name)
Description copied from interface:ProcedureCallRetrieve a previously registered parameter memento by the name under which it was registered.- Specified by:
getParameterRegistrationin interfaceProcedureCall- Parameters:
name- The parameter name- Returns:
- The parameter registration memento
-
getRegisteredParameters
public List getRegisteredParameters()
Description copied from interface:ProcedureCallRetrieve all registered parameters.- Specified by:
getRegisteredParametersin interfaceProcedureCall- Returns:
- The (immutable) list of all registered parameters.
-
getOutputs
public ProcedureOutputs getOutputs()
Description copied from interface:ProcedureCallRetrieves access to outputs of this procedure call. Can be called multiple times, returning the same ProcedureOutputs instance each time.If the procedure call has not actually be executed yet, it will be executed and then the ProcedureOutputs will be returned.
- Specified by:
getOutputsin interfaceProcedureCall- Returns:
- The ProcedureOutputs representation
-
getQueryString
public String getQueryString()
Description copied from interface:QueryThe query as a string, ornullin the case of a criteria query.- Specified by:
getQueryStringin interfaceQuery<R>- Specified by:
getQueryStringin classAbstractSelectionQuery<R>
-
synchronizedQuerySpaces
protected Set<String> synchronizedQuerySpaces()
Use this form instead ofgetSynchronizedQuerySpaces()when you want to make sure the underlying Set is instantiated (aka, on add)- Returns:
- The spaces
-
getSynchronizedQuerySpaces
public Set<String> getSynchronizedQuerySpaces()
Description copied from interface:SynchronizeableQueryObtain the list of query spaces the query is synchronized on.- Specified by:
getSynchronizedQuerySpacesin interfaceResultContext- Specified by:
getSynchronizedQuerySpacesin interfaceSynchronizeableQuery- Returns:
- The list of query spaces upon which the query is synchronized.
-
addSynchronizedQuerySpace
public ProcedureCallImplementor<R> addSynchronizedQuerySpace(String querySpace)
Description copied from interface:SynchronizeableQueryAdds a query space.- Specified by:
addSynchronizedQuerySpacein interfaceProcedureCall- Specified by:
addSynchronizedQuerySpacein interfaceSynchronizeableQuery- Parameters:
querySpace- The query space to be auto-flushed for this query.- Returns:
this, for method chaining
-
addSynchronizedEntityName
public ProcedureCallImplementor<R> addSynchronizedEntityName(String entityName)
Description copied from interface:SynchronizeableQueryAdds an entity name for (a) auto-flush checking and (b) query result cache invalidation checking. Same asSynchronizeableQuery.addSynchronizedQuerySpace(java.lang.String)for all tables associated with the given entity.- Specified by:
addSynchronizedEntityNamein interfaceProcedureCall- Specified by:
addSynchronizedEntityNamein interfaceSynchronizeableQuery- Parameters:
entityName- The name of the entity upon whose defined query spaces we should additionally synchronize.- Returns:
this, for method chaining
-
addSynchronizedQuerySpaces
protected void addSynchronizedQuerySpaces(EntityPersister persister)
-
addSynchronizedEntityClass
public ProcedureCallImplementor<R> addSynchronizedEntityClass(Class entityClass)
Description copied from interface:SynchronizeableQueryAdds an entity for (a) auto-flush checking and (b) query result cache invalidation checking. Same asSynchronizeableQuery.addSynchronizedQuerySpace(java.lang.String)for all tables associated with the given entity.- Specified by:
addSynchronizedEntityClassin interfaceProcedureCall- Specified by:
addSynchronizedEntityClassin interfaceSynchronizeableQuery- Parameters:
entityClass- The class of the entity upon whose defined query spaces we should additionally synchronize.- Returns:
this, for method chaining
-
toMemento
public NamedCallableQueryMemento toMemento(String name)
Description copied from interface:NameableQueryConvert the query into the memento- Specified by:
toMementoin interfaceNameableQuery- Specified by:
toMementoin interfaceProcedureCall
-
applyGraph
protected void applyGraph(RootGraphImplementor<?> entityGraph, GraphSemantic graphSemantic)
- Overrides:
applyGraphin classAbstractCommonQueryContract
-
applyGraph
public Query<R> applyGraph(RootGraph graph, GraphSemantic semantic)
Description copied from interface:QueryApply the given graph using the given semantic- Specified by:
applyGraphin interfaceQuery<R>- Parameters:
graph- The graph the apply.semantic- The semantic to use when applying the graph- Returns:
- this - for method chaining
-
execute
public boolean execute()
- Specified by:
executein interfacejakarta.persistence.StoredProcedureQuery
-
outputs
protected ProcedureOutputs outputs()
-
doExecuteUpdate
protected int doExecuteUpdate()
- Specified by:
doExecuteUpdatein classAbstractQuery<R>
-
getOutputParameterValue
public Object getOutputParameterValue(int position)
- Specified by:
getOutputParameterValuein interfacejakarta.persistence.StoredProcedureQuery
-
getOutputParameterValue
public Object getOutputParameterValue(String parameterName)
- Specified by:
getOutputParameterValuein interfacejakarta.persistence.StoredProcedureQuery
-
hasMoreResults
public boolean hasMoreResults()
- Specified by:
hasMoreResultsin interfacejakarta.persistence.StoredProcedureQuery
-
getUpdateCount
public int getUpdateCount()
- Specified by:
getUpdateCountin interfacejakarta.persistence.StoredProcedureQuery
-
doList
protected List<R> doList()
- Specified by:
doListin classAbstractSelectionQuery<R>
-
scroll
public ScrollableResultsImplementor<R> scroll(ScrollMode scrollMode)
Description copied from interface:SelectionQueryReturns scrollable access to the query results. The capabilities of the returned ScrollableResults depend on the specified ScrollMode.- Specified by:
scrollin interfaceQuery<R>- Specified by:
scrollin interfaceQueryImplementor<R>- Specified by:
scrollin interfaceSelectionQuery<R>- Overrides:
scrollin classAbstractSelectionQuery<R>
-
doScroll
protected ScrollableResultsImplementor<R> doScroll(ScrollMode scrollMode)
- Specified by:
doScrollin classAbstractSelectionQuery<R>
-
getResultList
public List<R> getResultList()
Description copied from interface:QueryExecute the query and return the query results as aList. If the query contains multiple items in the selection list, then by default each result in the list is packaged in an array of typeObject[].- Specified by:
getResultListin interfaceProcedureCallImplementor<R>- Specified by:
getResultListin interfacejakarta.persistence.Query- Specified by:
getResultListin interfaceQuery<R>- Specified by:
getResultListin interfaceSelectionQuery<R>- Specified by:
getResultListin interfacejakarta.persistence.StoredProcedureQuery- Specified by:
getResultListin interfacejakarta.persistence.TypedQuery<R>- Returns:
- the results as a list
-
getSingleResult
public R getSingleResult()
Description copied from interface:SelectionQueryExecute the query and return the single result of the query, throwing an exception if the query returns no results.- Specified by:
getSingleResultin interfaceProcedureCallImplementor<R>- Specified by:
getSingleResultin interfacejakarta.persistence.Query- Specified by:
getSingleResultin interfaceQuery<R>- Specified by:
getSingleResultin interfaceSelectionQuery<R>- Specified by:
getSingleResultin interfacejakarta.persistence.StoredProcedureQuery- Specified by:
getSingleResultin interfacejakarta.persistence.TypedQuery<R>- Overrides:
getSingleResultin classAbstractSelectionQuery<R>- Returns:
- the single result, only if there is exactly one
-
getSingleResultOrNull
public R getSingleResultOrNull()
Description copied from interface:SelectionQueryExecute the query and return the single result of the query, ornullif the query returns no results.- Specified by:
getSingleResultOrNullin interfaceSelectionQuery<R>- Overrides:
getSingleResultOrNullin classAbstractSelectionQuery<R>- Returns:
- the single result or
nullif there is no result to return
-
unwrap
public <T> T unwrap(Class<T> cls)
- Specified by:
unwrapin interfacejakarta.persistence.Query
-
setLockMode
public QueryImplementor<R> setLockMode(String alias, LockMode lockMode)
Description copied from interface:SelectionQuerySpecify aLockModeto apply to a specific alias defined in the query- Specified by:
setLockModein interfaceQuery<R>- Specified by:
setLockModein interfaceSelectionQuery<R>- Overrides:
setLockModein classAbstractQuery<R>- Parameters:
alias- A query aliaslockMode- The lock mode to apply- Returns:
this, for method chaining- See Also:
Query.getLockOptions()
-
setLockMode
public ProcedureCallImplementor<R> setLockMode(jakarta.persistence.LockModeType lockMode)
Description copied from class:AbstractSelectionQuerySpecify the root LockModeType for the query- Specified by:
setLockModein interfacejakarta.persistence.Query- Specified by:
setLockModein interfaceQuery<R>- Specified by:
setLockModein interfaceSelectionQuery<R>- Specified by:
setLockModein interfacejakarta.persistence.TypedQuery<R>- Overrides:
setLockModein classAbstractQuery<R>- See Also:
AbstractSelectionQuery.setHibernateLockMode(org.hibernate.LockMode)
-
getLockMode
public jakarta.persistence.LockModeType getLockMode()
Description copied from interface:SelectionQueryGet the rootLockModeTypefor the query- Specified by:
getLockModein interfacejakarta.persistence.Query- Specified by:
getLockModein interfaceSelectionQuery<R>- Overrides:
getLockModein classAbstractQuery<R>- See Also:
SelectionQuery.getHibernateLockMode()
-
setLockOptions
public QueryImplementor<R> setLockOptions(LockOptions lockOptions)
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<R>- Overrides:
setLockOptionsin classAbstractQuery<R>- Parameters:
lockOptions- The lock options to apply to the query.- Returns:
this, for method chaining- See Also:
Query.getLockOptions()
-
setHint
public ProcedureCallImplementor<R> setHint(String hintName, Object value)
Description copied from interface:CommonQueryContractApply hints to the query.- Specified by:
setHintin interfaceCommonQueryContract- Specified by:
setHintin interfaceProcedureCall- Specified by:
setHintin interfaceProcedureCallImplementor<R>- Specified by:
setHintin interfacejakarta.persistence.Query- Specified by:
setHintin interfaceQuery<R>- Specified by:
setHintin interfaceSelectionQuery<R>- Specified by:
setHintin interfacejakarta.persistence.StoredProcedureQuery- Specified by:
setHintin interfacejakarta.persistence.TypedQuery<R>- Overrides:
setHintin classAbstractQuery<R>
-
setFlushMode
public ProcedureCallImplementor<R> setFlushMode(jakarta.persistence.FlushModeType flushModeType)
Description copied from interface:CommonQueryContractSet theFlushModein to use for this query.- Specified by:
setFlushModein interfaceCommonQueryContract- Specified by:
setFlushModein interfaceProcedureCall- Specified by:
setFlushModein interfaceProcedureCallImplementor<R>- Specified by:
setFlushModein interfacejakarta.persistence.Query- Specified by:
setFlushModein interfaceQuery<R>- Specified by:
setFlushModein interfaceSelectionQuery<R>- Specified by:
setFlushModein interfacejakarta.persistence.StoredProcedureQuery- Specified by:
setFlushModein interfacejakarta.persistence.TypedQuery<R>- Overrides:
setFlushModein classAbstractQuery<R>- See Also:
CommonQueryContract.getHibernateFlushMode(),Session.getHibernateFlushMode()
-
setParameter
public <P> ProcedureCallImplementor<R> setParameter(QueryParameter<P> parameter, P value)
Description copied from interface:CommonQueryContractBind 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<R>- Specified by:
setParameterin interfaceQueryImplementor<R>- Specified by:
setParameterin interfaceSelectionQuery<R>- Overrides:
setParameterin classAbstractQuery<R>- Parameters:
parameter- the query parameter mementovalue- the argument, which might be null- Returns:
this, for method chaining- See Also:
CommonQueryContract.setParameter(QueryParameter, Object, BindableType)
-
setParameter
public <P> ProcedureCallImplementor<R> setParameter(jakarta.persistence.Parameter<P> parameter, P value)
Description copied from interface:QueryQueryoverride- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceProcedureCall- Specified by:
setParameterin interfaceProcedureCallImplementor<R>- Specified by:
setParameterin interfacejakarta.persistence.Query- Specified by:
setParameterin interfaceQuery<R>- Specified by:
setParameterin interfaceQueryImplementor<R>- Specified by:
setParameterin interfaceSelectionQuery<R>- Specified by:
setParameterin interfacejakarta.persistence.StoredProcedureQuery- Specified by:
setParameterin interfacejakarta.persistence.TypedQuery<R>- Overrides:
setParameterin classAbstractQuery<R>- See Also:
Query.setParameter(Parameter, Object)
-
setParameter
public ProcedureCallImplementor<R> setParameter(String name, Object value)
Description copied from interface:CommonQueryContractBind 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:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceProcedureCall- Specified by:
setParameterin interfaceProcedureCallImplementor<R>- Specified by:
setParameterin interfacejakarta.persistence.Query- Specified by:
setParameterin interfaceQuery<R>- Specified by:
setParameterin interfaceQueryImplementor<R>- Specified by:
setParameterin interfaceSelectionQuery<R>- Specified by:
setParameterin interfacejakarta.persistence.StoredProcedureQuery- Specified by:
setParameterin interfacejakarta.persistence.TypedQuery<R>- Overrides:
setParameterin classAbstractQuery<R>- See Also:
CommonQueryContract.setParameter(String, Object, Class),CommonQueryContract.setParameter(String, Object, BindableType)
-
setParameter
public ProcedureCallImplementor<R> setParameter(int position, Object value)
Description copied from interface:CommonQueryContractBind 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 interfaceProcedureCall- Specified by:
setParameterin interfaceProcedureCallImplementor<R>- Specified by:
setParameterin interfacejakarta.persistence.Query- Specified by:
setParameterin interfaceQuery<R>- Specified by:
setParameterin interfaceQueryImplementor<R>- Specified by:
setParameterin interfaceSelectionQuery<R>- Specified by:
setParameterin interfacejakarta.persistence.StoredProcedureQuery- Specified by:
setParameterin interfacejakarta.persistence.TypedQuery<R>- Overrides:
setParameterin classAbstractQuery<R>- See Also:
CommonQueryContract.setParameter(int, Object, Class),CommonQueryContract.setParameter(int, Object, BindableType)
-
setParameter
public <P> ProcedureCallImplementor<R> setParameter(QueryParameter<P> parameter, P value, BindableType<P> type)
Description copied from interface:CommonQueryContractBind an argument to the query parameter represented by the givenQueryParameter, using the givenBindableType.- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceQuery<R>- Specified by:
setParameterin interfaceQueryImplementor<R>- Specified by:
setParameterin interfaceSelectionQuery<R>- Overrides:
setParameterin classAbstractQuery<R>- Parameters:
parameter- the query parameter mementovalue- the argument, which might be nulltype- aBindableTyperepresenting the type of the parameter- Returns:
this, for method chaining
-
setParameter
public <P> ProcedureCallImplementor<R> setParameter(String name, P value, BindableType<P> type)
Description copied from interface:CommonQueryContractBind the given argument to a named query parameter using the givenBindableType.- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceQuery<R>- Specified by:
setParameterin interfaceQueryImplementor<R>- Specified by:
setParameterin interfaceSelectionQuery<R>- Overrides:
setParameterin classAbstractQuery<R>
-
setParameter
public <P> ProcedureCallImplementor<R> setParameter(int position, P value, BindableType<P> type)
Description copied from interface:CommonQueryContractBind the given argument to an ordinal query parameter using the givenBindableType.- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceQuery<R>- Specified by:
setParameterin interfaceQueryImplementor<R>- Specified by:
setParameterin interfaceSelectionQuery<R>- Overrides:
setParameterin classAbstractQuery<R>
-
setParameter
public ProcedureCallImplementor<R> setParameter(jakarta.persistence.Parameter<Calendar> parameter, Calendar value, jakarta.persistence.TemporalType temporalPrecision)
Description copied from interface:QueryQueryoverride- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceProcedureCall- Specified by:
setParameterin interfaceProcedureCallImplementor<R>- Specified by:
setParameterin interfacejakarta.persistence.Query- Specified by:
setParameterin interfaceQuery<R>- Specified by:
setParameterin interfaceQueryImplementor<R>- Specified by:
setParameterin interfaceSelectionQuery<R>- Specified by:
setParameterin interfacejakarta.persistence.StoredProcedureQuery- Specified by:
setParameterin interfacejakarta.persistence.TypedQuery<R>- Overrides:
setParameterin classAbstractQuery<R>- See Also:
Query.setParameter(Parameter, Calendar, TemporalType)
-
setParameter
public ProcedureCallImplementor<R> setParameter(jakarta.persistence.Parameter<Date> parameter, Date value, jakarta.persistence.TemporalType temporalPrecision)
Description copied from interface:QueryQueryoverride- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceProcedureCall- Specified by:
setParameterin interfaceProcedureCallImplementor<R>- Specified by:
setParameterin interfacejakarta.persistence.Query- Specified by:
setParameterin interfaceQuery<R>- Specified by:
setParameterin interfaceQueryImplementor<R>- Specified by:
setParameterin interfaceSelectionQuery<R>- Specified by:
setParameterin interfacejakarta.persistence.StoredProcedureQuery- Specified by:
setParameterin interfacejakarta.persistence.TypedQuery<R>- Overrides:
setParameterin classAbstractQuery<R>- See Also:
Query.setParameter(Parameter, Date, TemporalType)
-
setParameter
public ProcedureCallImplementor<R> setParameter(String name, Calendar value, jakarta.persistence.TemporalType temporalPrecision)
Description copied from interface:QueryQueryoverride- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceProcedureCall- Specified by:
setParameterin interfaceProcedureCallImplementor<R>- Specified by:
setParameterin interfacejakarta.persistence.Query- Specified by:
setParameterin interfaceQuery<R>- Specified by:
setParameterin interfaceQueryImplementor<R>- Specified by:
setParameterin interfaceSelectionQuery<R>- Specified by:
setParameterin interfacejakarta.persistence.StoredProcedureQuery- Specified by:
setParameterin interfacejakarta.persistence.TypedQuery<R>- Overrides:
setParameterin classAbstractQuery<R>- See Also:
Query.setParameter(String, Calendar, TemporalType)
-
setParameter
public ProcedureCallImplementor<R> setParameter(String name, Date value, jakarta.persistence.TemporalType temporalPrecision)
Description copied from interface:QueryQueryoverride- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceProcedureCall- Specified by:
setParameterin interfaceProcedureCallImplementor<R>- Specified by:
setParameterin interfacejakarta.persistence.Query- Specified by:
setParameterin interfaceQuery<R>- Specified by:
setParameterin interfaceQueryImplementor<R>- Specified by:
setParameterin interfaceSelectionQuery<R>- Specified by:
setParameterin interfacejakarta.persistence.StoredProcedureQuery- Specified by:
setParameterin interfacejakarta.persistence.TypedQuery<R>- Overrides:
setParameterin classAbstractQuery<R>- See Also:
Query.setParameter(String, Date, TemporalType)
-
setParameter
public ProcedureCallImplementor<R> setParameter(int position, Calendar value, jakarta.persistence.TemporalType temporalPrecision)
Description copied from interface:QueryQueryoverride- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceProcedureCall- Specified by:
setParameterin interfaceProcedureCallImplementor<R>- Specified by:
setParameterin interfacejakarta.persistence.Query- Specified by:
setParameterin interfaceQuery<R>- Specified by:
setParameterin interfaceQueryImplementor<R>- Specified by:
setParameterin interfaceSelectionQuery<R>- Specified by:
setParameterin interfacejakarta.persistence.StoredProcedureQuery- Specified by:
setParameterin interfacejakarta.persistence.TypedQuery<R>- Overrides:
setParameterin classAbstractQuery<R>- See Also:
Query.setParameter(int, Calendar, TemporalType)
-
setParameter
public ProcedureCallImplementor<R> setParameter(int position, Date value, jakarta.persistence.TemporalType temporalPrecision)
Description copied from interface:QueryQueryoverride- Specified by:
setParameterin interfaceCommonQueryContract- Specified by:
setParameterin interfaceMutationQuery- Specified by:
setParameterin interfaceProcedureCall- Specified by:
setParameterin interfaceProcedureCallImplementor<R>- Specified by:
setParameterin interfacejakarta.persistence.Query- Specified by:
setParameterin interfaceQuery<R>- Specified by:
setParameterin interfaceQueryImplementor<R>- Specified by:
setParameterin interfaceSelectionQuery<R>- Specified by:
setParameterin interfacejakarta.persistence.StoredProcedureQuery- Specified by:
setParameterin interfacejakarta.persistence.TypedQuery<R>- Overrides:
setParameterin classAbstractQuery<R>- See Also:
Query.setParameter(int, Date, TemporalType)
-
getResultStream
public Stream<R> getResultStream()
Description copied from interface:QueryExecute the query and return the query results as aStream. If the query contains multiple items in the selection list, then by default each result in the stream is packaged in an array of typeObject[].The client should call
BaseStream.close()after processing the stream so that resources are freed as soon as possible.- Specified by:
getResultStreamin interfacejakarta.persistence.Query- Specified by:
getResultStreamin interfaceQuery<R>- Specified by:
getResultStreamin interfaceSelectionQuery<R>- Specified by:
getResultStreamin interfacejakarta.persistence.TypedQuery<R>- Returns:
- The results as a
Stream
-
getResultSetMapping
public ResultSetMapping getResultSetMapping()
-
-