Class NestedRowProcessingState
- java.lang.Object
-
- org.hibernate.sql.exec.internal.BaseExecutionContext
-
- org.hibernate.sql.results.graph.embeddable.internal.NestedRowProcessingState
-
- All Implemented Interfaces:
ExecutionContext
,RowProcessingState
public class NestedRowProcessingState extends BaseExecutionContext implements RowProcessingState
-
-
Constructor Summary
Constructors Constructor Description NestedRowProcessingState(AggregateEmbeddableInitializerImpl aggregateEmbeddableInitializer, RowProcessingState processingState)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
afterStatement(LogicalConnectionImplementor logicalConnection)
Hook to allow delaying calls toLogicalConnectionImplementor.afterStatement()
.LockMode
determineEffectiveLockMode(String alias)
void
finishRowProcessing(boolean wasAdded)
Callback at the end of processing the current "row"Callback
getCallback()
CollectionKey
getCollectionKey()
Get the collection key for the collection which is to be loaded immediately.Object
getEntityId()
Object
getEntityInstance()
Should only be used when initializing a bytecode-proxyObject
getEntityUniqueKey()
String
getEntityUniqueKeyAttributePath()
<T extends InitializerData>
TgetInitializerData(int initializerId)
Object
getJdbcValue(int position)
Retrieve the value corresponding to the given index as part of the "current JDBC row".JdbcValuesSourceProcessingState
getJdbcValuesSourceProcessingState()
Access to the state related to the overall processing of the results.QueryOptions
getQueryOptions()
QueryParameterBindings
getQueryParameterBindings()
EntityMappingType
getRootEntityDescriptor()
RowReader<?>
getRowReader()
todo (6.0) : do we want this here? Depends how we handle caching assembler / result mementoboolean
hasCallbackActions()
boolean
hasQueryExecutionToBeAddedToStatistics()
Determine if the query execution has to be considered by theStatistics
.boolean
isQueryCacheHit()
boolean
isScrollResult()
boolean
needsResolveState()
void
registerLoadingEntityHolder(EntityHolder holder)
void
registerNonExists(EntityFetch fetch)
void
setInitializerData(int initializerId, InitializerData state)
RowProcessingState
unwrap()
If this is a row processing state for aggregate components, this will return the underlying row processing state.static NestedRowProcessingState
wrap(AggregateEmbeddableInitializerImpl aggregateEmbeddableInitializer, RowProcessingState processingState)
-
Methods inherited from class org.hibernate.sql.exec.internal.BaseExecutionContext
getLoadQueryInfluencers, getQueryIdentifier, getSession
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.hibernate.sql.exec.spi.ExecutionContext
getLoadQueryInfluencers, getQueryIdentifier, getSession, upgradeLocks
-
Methods inherited from interface org.hibernate.sql.results.jdbc.spi.RowProcessingState
getJdbcValue
-
-
-
-
Constructor Detail
-
NestedRowProcessingState
public NestedRowProcessingState(AggregateEmbeddableInitializerImpl aggregateEmbeddableInitializer, RowProcessingState processingState)
-
-
Method Detail
-
wrap
public static NestedRowProcessingState wrap(AggregateEmbeddableInitializerImpl aggregateEmbeddableInitializer, RowProcessingState processingState)
-
getJdbcValue
public Object getJdbcValue(int position)
Description copied from interface:RowProcessingState
Retrieve the value corresponding to the given index as part of the "current JDBC row". We read all the ResultSet values for the given row one time and store them into an array internally based on the principle that multiple accesses to this array will be significantly faster than accessing them from the ResultSet potentially multiple times.- Specified by:
getJdbcValue
in interfaceRowProcessingState
-
unwrap
public RowProcessingState unwrap()
Description copied from interface:RowProcessingState
If this is a row processing state for aggregate components, this will return the underlying row processing state.- Specified by:
unwrap
in interfaceRowProcessingState
-
getInitializerData
public <T extends InitializerData> T getInitializerData(int initializerId)
- Specified by:
getInitializerData
in interfaceRowProcessingState
-
setInitializerData
public void setInitializerData(int initializerId, InitializerData state)
- Specified by:
setInitializerData
in interfaceRowProcessingState
-
getJdbcValuesSourceProcessingState
public JdbcValuesSourceProcessingState getJdbcValuesSourceProcessingState()
Description copied from interface:RowProcessingState
Access to the state related to the overall processing of the results.- Specified by:
getJdbcValuesSourceProcessingState
in interfaceRowProcessingState
-
determineEffectiveLockMode
public LockMode determineEffectiveLockMode(String alias)
- Specified by:
determineEffectiveLockMode
in interfaceRowProcessingState
-
needsResolveState
public boolean needsResolveState()
- Specified by:
needsResolveState
in interfaceRowProcessingState
-
getRowReader
public RowReader<?> getRowReader()
Description copied from interface:RowProcessingState
todo (6.0) : do we want this here? Depends how we handle caching assembler / result memento- Specified by:
getRowReader
in interfaceRowProcessingState
-
registerNonExists
public void registerNonExists(EntityFetch fetch)
- Specified by:
registerNonExists
in interfaceRowProcessingState
-
isQueryCacheHit
public boolean isQueryCacheHit()
- Specified by:
isQueryCacheHit
in interfaceRowProcessingState
-
finishRowProcessing
public void finishRowProcessing(boolean wasAdded)
Description copied from interface:RowProcessingState
Callback at the end of processing the current "row"- Specified by:
finishRowProcessing
in interfaceRowProcessingState
-
getQueryOptions
public QueryOptions getQueryOptions()
- Specified by:
getQueryOptions
in interfaceExecutionContext
- Overrides:
getQueryOptions
in classBaseExecutionContext
-
getQueryParameterBindings
public QueryParameterBindings getQueryParameterBindings()
- Specified by:
getQueryParameterBindings
in interfaceExecutionContext
- Overrides:
getQueryParameterBindings
in classBaseExecutionContext
-
isScrollResult
public boolean isScrollResult()
- Specified by:
isScrollResult
in interfaceExecutionContext
-
getCallback
public Callback getCallback()
- Specified by:
getCallback
in interfaceExecutionContext
- Overrides:
getCallback
in classBaseExecutionContext
-
hasCallbackActions
public boolean hasCallbackActions()
- Specified by:
hasCallbackActions
in interfaceExecutionContext
-
getCollectionKey
public CollectionKey getCollectionKey()
Description copied from interface:ExecutionContext
Get the collection key for the collection which is to be loaded immediately.- Specified by:
getCollectionKey
in interfaceExecutionContext
-
getEntityInstance
public Object getEntityInstance()
Description copied from interface:ExecutionContext
Should only be used when initializing a bytecode-proxy- Specified by:
getEntityInstance
in interfaceExecutionContext
-
getEntityId
public Object getEntityId()
- Specified by:
getEntityId
in interfaceExecutionContext
-
getEntityUniqueKeyAttributePath
public String getEntityUniqueKeyAttributePath()
- Specified by:
getEntityUniqueKeyAttributePath
in interfaceExecutionContext
-
getEntityUniqueKey
public Object getEntityUniqueKey()
- Specified by:
getEntityUniqueKey
in interfaceExecutionContext
-
getRootEntityDescriptor
public EntityMappingType getRootEntityDescriptor()
- Specified by:
getRootEntityDescriptor
in interfaceExecutionContext
-
registerLoadingEntityHolder
public void registerLoadingEntityHolder(EntityHolder holder)
- Specified by:
registerLoadingEntityHolder
in interfaceExecutionContext
-
afterStatement
public void afterStatement(LogicalConnectionImplementor logicalConnection)
Description copied from interface:ExecutionContext
Hook to allow delaying calls toLogicalConnectionImplementor.afterStatement()
. Mainly used in the case of batching and multi-table mutations- Specified by:
afterStatement
in interfaceExecutionContext
-
hasQueryExecutionToBeAddedToStatistics
public boolean hasQueryExecutionToBeAddedToStatistics()
Description copied from interface:ExecutionContext
Determine if the query execution has to be considered by theStatistics
.- Specified by:
hasQueryExecutionToBeAddedToStatistics
in interfaceExecutionContext
- Returns:
- true if the query execution has to be added to the
Statistics
, false otherwise.
-
-