Package org.apache.openjpa.persistence
Class StoredProcedureQueryImpl
java.lang.Object
org.apache.openjpa.persistence.StoredProcedureQueryImpl
- All Implemented Interfaces:
jakarta.persistence.Query,jakarta.persistence.StoredProcedureQuery
public class StoredProcedureQueryImpl
extends Object
implements jakarta.persistence.StoredProcedureQuery
Implements Store Procedure based query for JPA facade.
A
This query resorts to a callback mechanism, where the execution of the query returns not a result, but a
A
stored procedure query differs from other query types because it may return
more than one result set, apart from an optional update count, whereas the traditional query processing in OpenJPA
via the abstractions of ResultObjectProvider and Result
assumed that a query will return its
result in a single list.
This query resorts to a callback mechanism, where the execution of the query returns not a result, but a
callback object that can be used to callback to OpenJPA kernel to get a series of
results via the traditional result processing pathway.- Author:
- Pinaki Poddar, Romain Manni-Bucau
-
Constructor Summary
ConstructorsConstructorDescriptionStoredProcedureQueryImpl(String procedureName, MultiQueryMetaData meta, QueryImpl<?> delegate) Construct a query for executing a Stored Procedure. -
Method Summary
Modifier and TypeMethodDescriptionbooleanexecute()Executes this receiver by delegation to the underlying executable query.intOpenJPAQuery<?>Gets the facade delegate that manages bind parameters on behalf of this receiver.Gets the kernel delegate that is handles actual execution on behalf of this receiver.intjakarta.persistence.FlushModeTypegetHints()jakarta.persistence.LockModeTypeintgetOutputParameterValue(int position) getOutputParameterValue(String parameterName) jakarta.persistence.Parameter<?>getParameter(int position) <T> jakarta.persistence.Parameter<T>getParameter(int position, Class<T> type) jakarta.persistence.Parameter<?>getParameter(String name) <T> jakarta.persistence.Parameter<T>getParameter(String name, Class<T> type) Set<jakarta.persistence.Parameter<?>>getParameterValue(int position) <T> TgetParameterValue(jakarta.persistence.Parameter<T> param) getParameterValue(String name) intbooleanbooleanisBound(jakarta.persistence.Parameter<?> param) jakarta.persistence.StoredProcedureQueryregisterStoredProcedureParameter(int position, Class type, jakarta.persistence.ParameterMode mode) jakarta.persistence.StoredProcedureQueryregisterStoredProcedureParameter(String name, Class type, jakarta.persistence.ParameterMode mode) jakarta.persistence.QuerysetFirstResult(int startPosition) jakarta.persistence.StoredProcedureQuerysetFlushMode(jakarta.persistence.FlushModeType flushMode) jakarta.persistence.StoredProcedureQueryjakarta.persistence.QuerysetLockMode(jakarta.persistence.LockModeType lockMode) jakarta.persistence.QuerysetMaxResults(int maxResult) jakarta.persistence.StoredProcedureQuerysetParameter(int position, Object value) jakarta.persistence.StoredProcedureQuerysetParameter(int position, Calendar value, jakarta.persistence.TemporalType temporalType) jakarta.persistence.StoredProcedureQuerysetParameter(int position, Date value, jakarta.persistence.TemporalType temporalType) jakarta.persistence.StoredProcedureQuerysetParameter(jakarta.persistence.Parameter<Calendar> param, Calendar cal, jakarta.persistence.TemporalType temporalType) jakarta.persistence.StoredProcedureQuerysetParameter(jakarta.persistence.Parameter<Date> param, Date value, jakarta.persistence.TemporalType temporalType) <T> jakarta.persistence.StoredProcedureQuerysetParameter(jakarta.persistence.Parameter<T> param, T value) jakarta.persistence.StoredProcedureQuerysetParameter(String name, Object value) jakarta.persistence.StoredProcedureQuerysetParameter(String name, Calendar cal, jakarta.persistence.TemporalType temporalType) jakarta.persistence.StoredProcedureQuerysetParameter(String name, Date date, jakarta.persistence.TemporalType temporalType) toString()<T> TMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface jakarta.persistence.Query
getResultStream
-
Constructor Details
-
StoredProcedureQueryImpl
public StoredProcedureQueryImpl(String procedureName, MultiQueryMetaData meta, QueryImpl<?> delegate) Construct a query for executing a Stored Procedure.- Parameters:
procedureName- name of the database stored procedure.meta-delegate- the delegate which manages bind parameters on behalf of this
-
-
Method Details
-
getDelegate
Gets the facade delegate that manages bind parameters on behalf of this receiver.- Returns:
-
getExecutableQuery
Gets the kernel delegate that is handles actual execution on behalf of this receiver.- Returns:
-
execute
public boolean execute()Executes this receiver by delegation to the underlying executable query.
This method is multi-call safe. The underlying executable query is executed only for the first invocation. Subsequent- Specified by:
executein interfacejakarta.persistence.StoredProcedureQuery
-
getResultList
- Specified by:
getResultListin interfacejakarta.persistence.Query- Specified by:
getResultListin interfacejakarta.persistence.StoredProcedureQuery
-
getSingleResult
- Specified by:
getSingleResultin interfacejakarta.persistence.Query- Specified by:
getSingleResultin interfacejakarta.persistence.StoredProcedureQuery
-
hasMoreResults
public boolean hasMoreResults()- Specified by:
hasMoreResultsin interfacejakarta.persistence.StoredProcedureQuery
-
getUpdateCount
public int getUpdateCount()- Specified by:
getUpdateCountin interfacejakarta.persistence.StoredProcedureQuery
-
executeUpdate
public int executeUpdate()- Specified by:
executeUpdatein interfacejakarta.persistence.Query- Specified by:
executeUpdatein interfacejakarta.persistence.StoredProcedureQuery
-
getParameter
- Specified by:
getParameterin interfacejakarta.persistence.Query
-
getParameter
- Specified by:
getParameterin interfacejakarta.persistence.Query
-
isBound
public boolean isBound(jakarta.persistence.Parameter<?> param) - Specified by:
isBoundin interfacejakarta.persistence.Query
-
getParameterValue
public <T> T getParameterValue(jakarta.persistence.Parameter<T> param) - Specified by:
getParameterValuein interfacejakarta.persistence.Query
-
unwrap
- Specified by:
unwrapin interfacejakarta.persistence.Query
-
setParameter
public <T> jakarta.persistence.StoredProcedureQuery setParameter(jakarta.persistence.Parameter<T> param, T value) - Specified by:
setParameterin interfacejakarta.persistence.Query- Specified by:
setParameterin interfacejakarta.persistence.StoredProcedureQuery
-
setParameter
public jakarta.persistence.StoredProcedureQuery setParameter(jakarta.persistence.Parameter<Calendar> param, Calendar cal, jakarta.persistence.TemporalType temporalType) - Specified by:
setParameterin interfacejakarta.persistence.Query- Specified by:
setParameterin interfacejakarta.persistence.StoredProcedureQuery
-
setParameter
public jakarta.persistence.StoredProcedureQuery setParameter(jakarta.persistence.Parameter<Date> param, Date value, jakarta.persistence.TemporalType temporalType) - Specified by:
setParameterin interfacejakarta.persistence.Query- Specified by:
setParameterin interfacejakarta.persistence.StoredProcedureQuery
-
registerStoredProcedureParameter
public jakarta.persistence.StoredProcedureQuery registerStoredProcedureParameter(int position, Class type, jakarta.persistence.ParameterMode mode) - Specified by:
registerStoredProcedureParameterin interfacejakarta.persistence.StoredProcedureQuery
-
registerStoredProcedureParameter
public jakarta.persistence.StoredProcedureQuery registerStoredProcedureParameter(String name, Class type, jakarta.persistence.ParameterMode mode) - Specified by:
registerStoredProcedureParameterin interfacejakarta.persistence.StoredProcedureQuery
-
getOutputParameterValue
- Specified by:
getOutputParameterValuein interfacejakarta.persistence.StoredProcedureQuery
-
getOutputParameterValue
- Specified by:
getOutputParameterValuein interfacejakarta.persistence.StoredProcedureQuery
-
setMaxResults
public jakarta.persistence.Query setMaxResults(int maxResult) - Specified by:
setMaxResultsin interfacejakarta.persistence.Query
-
getMaxResults
public int getMaxResults()- Specified by:
getMaxResultsin interfacejakarta.persistence.Query
-
setFirstResult
public jakarta.persistence.Query setFirstResult(int startPosition) - Specified by:
setFirstResultin interfacejakarta.persistence.Query
-
getFirstResult
public int getFirstResult()- Specified by:
getFirstResultin interfacejakarta.persistence.Query
-
getHints
- Specified by:
getHintsin interfacejakarta.persistence.Query
-
getParameters
- Specified by:
getParametersin interfacejakarta.persistence.Query
-
getParameter
- Specified by:
getParameterin interfacejakarta.persistence.Query
-
getParameter
public jakarta.persistence.Parameter<?> getParameter(int position) - Specified by:
getParameterin interfacejakarta.persistence.Query
-
getParameterValue
- Specified by:
getParameterValuein interfacejakarta.persistence.Query
-
getParameterValue
- Specified by:
getParameterValuein interfacejakarta.persistence.Query
-
getFlushMode
public jakarta.persistence.FlushModeType getFlushMode()- Specified by:
getFlushModein interfacejakarta.persistence.Query
-
setLockMode
public jakarta.persistence.Query setLockMode(jakarta.persistence.LockModeType lockMode) - Specified by:
setLockModein interfacejakarta.persistence.Query
-
getLockMode
public jakarta.persistence.LockModeType getLockMode()- Specified by:
getLockModein interfacejakarta.persistence.Query
-
setHint
- Specified by:
setHintin interfacejakarta.persistence.Query- Specified by:
setHintin interfacejakarta.persistence.StoredProcedureQuery
-
setParameter
- Specified by:
setParameterin interfacejakarta.persistence.Query- Specified by:
setParameterin interfacejakarta.persistence.StoredProcedureQuery
-
setParameter
public jakarta.persistence.StoredProcedureQuery setParameter(String name, Calendar cal, jakarta.persistence.TemporalType temporalType) - Specified by:
setParameterin interfacejakarta.persistence.Query- Specified by:
setParameterin interfacejakarta.persistence.StoredProcedureQuery
-
setParameter
public jakarta.persistence.StoredProcedureQuery setParameter(String name, Date date, jakarta.persistence.TemporalType temporalType) - Specified by:
setParameterin interfacejakarta.persistence.Query- Specified by:
setParameterin interfacejakarta.persistence.StoredProcedureQuery
-
setParameter
- Specified by:
setParameterin interfacejakarta.persistence.Query- Specified by:
setParameterin interfacejakarta.persistence.StoredProcedureQuery
-
setParameter
public jakarta.persistence.StoredProcedureQuery setParameter(int position, Calendar value, jakarta.persistence.TemporalType temporalType) - Specified by:
setParameterin interfacejakarta.persistence.Query- Specified by:
setParameterin interfacejakarta.persistence.StoredProcedureQuery
-
setParameter
public jakarta.persistence.StoredProcedureQuery setParameter(int position, Date value, jakarta.persistence.TemporalType temporalType) - Specified by:
setParameterin interfacejakarta.persistence.Query- Specified by:
setParameterin interfacejakarta.persistence.StoredProcedureQuery
-
setFlushMode
public jakarta.persistence.StoredProcedureQuery setFlushMode(jakarta.persistence.FlushModeType flushMode) - Specified by:
setFlushModein interfacejakarta.persistence.Query- Specified by:
setFlushModein interfacejakarta.persistence.StoredProcedureQuery
-
toString
-