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(AggregateEmbeddableInitializer aggregateEmbeddableInitializer, RowProcessingState processingState)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterStatement(LogicalConnectionImplementor logicalConnection)Hook to allow delaying calls toLogicalConnectionImplementor.afterStatement().voidfinishRowProcessing()Callback at the end of processing the current "row"CallbackgetCallback()CollectionKeygetCollectionKey()Get the collection key for the collection which is to be loaded immediately.ObjectgetEntityId()ObjectgetEntityInstance()Should only be used when initializing a bytecode-proxyObjectgetJdbcValue(int position)Retrieve the value corresponding to the given index as part of the "current JDBC row".JdbcValuesSourceProcessingStategetJdbcValuesSourceProcessingState()Access to the state related to the overall processing of the results.QueryOptionsgetQueryOptions()QueryParameterBindingsgetQueryParameterBindings()EntityMappingTypegetRootEntityDescriptor()RowReader<?>getRowReader()todo (6.0) : do we want this here? Depends how we handle caching assembler / result mementobooleanhasCallbackActions()booleanhasQueryExecutionToBeAddedToStatistics()Determine if the query execution has to be considered by theStatistics.booleanisQueryCacheHit()booleanisScrollResult()voidregisterLoadingEntityEntry(EntityKey entityKey, LoadingEntityEntry entry)voidregisterNonExists(EntityFetch fetch)InitializerresolveInitializer(NavigablePath path)Locate the Initializer registered for the given pathstatic NestedRowProcessingStatewrap(AggregateEmbeddableInitializer 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(AggregateEmbeddableInitializer aggregateEmbeddableInitializer, RowProcessingState processingState)
-
-
Method Detail
-
wrap
public static NestedRowProcessingState wrap(AggregateEmbeddableInitializer aggregateEmbeddableInitializer, RowProcessingState processingState)
-
getJdbcValue
public Object getJdbcValue(int position)
Description copied from interface:RowProcessingStateRetrieve 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:
getJdbcValuein interfaceRowProcessingState
-
getJdbcValuesSourceProcessingState
public JdbcValuesSourceProcessingState getJdbcValuesSourceProcessingState()
Description copied from interface:RowProcessingStateAccess to the state related to the overall processing of the results.- Specified by:
getJdbcValuesSourceProcessingStatein interfaceRowProcessingState
-
getRowReader
public RowReader<?> getRowReader()
Description copied from interface:RowProcessingStatetodo (6.0) : do we want this here? Depends how we handle caching assembler / result memento- Specified by:
getRowReaderin interfaceRowProcessingState
-
registerNonExists
public void registerNonExists(EntityFetch fetch)
- Specified by:
registerNonExistsin interfaceRowProcessingState
-
isQueryCacheHit
public boolean isQueryCacheHit()
- Specified by:
isQueryCacheHitin interfaceRowProcessingState
-
finishRowProcessing
public void finishRowProcessing()
Description copied from interface:RowProcessingStateCallback at the end of processing the current "row"- Specified by:
finishRowProcessingin interfaceRowProcessingState
-
resolveInitializer
public Initializer resolveInitializer(NavigablePath path)
Description copied from interface:RowProcessingStateLocate the Initializer registered for the given path- Specified by:
resolveInitializerin interfaceRowProcessingState
-
getQueryOptions
public QueryOptions getQueryOptions()
- Specified by:
getQueryOptionsin interfaceExecutionContext- Overrides:
getQueryOptionsin classBaseExecutionContext
-
getQueryParameterBindings
public QueryParameterBindings getQueryParameterBindings()
- Specified by:
getQueryParameterBindingsin interfaceExecutionContext- Overrides:
getQueryParameterBindingsin classBaseExecutionContext
-
isScrollResult
public boolean isScrollResult()
- Specified by:
isScrollResultin interfaceExecutionContext
-
getCallback
public Callback getCallback()
- Specified by:
getCallbackin interfaceExecutionContext- Overrides:
getCallbackin classBaseExecutionContext
-
hasCallbackActions
public boolean hasCallbackActions()
- Specified by:
hasCallbackActionsin interfaceExecutionContext
-
getCollectionKey
public CollectionKey getCollectionKey()
Description copied from interface:ExecutionContextGet the collection key for the collection which is to be loaded immediately.- Specified by:
getCollectionKeyin interfaceExecutionContext
-
getEntityInstance
public Object getEntityInstance()
Description copied from interface:ExecutionContextShould only be used when initializing a bytecode-proxy- Specified by:
getEntityInstancein interfaceExecutionContext
-
getEntityId
public Object getEntityId()
- Specified by:
getEntityIdin interfaceExecutionContext
-
getRootEntityDescriptor
public EntityMappingType getRootEntityDescriptor()
- Specified by:
getRootEntityDescriptorin interfaceExecutionContext
-
registerLoadingEntityEntry
public void registerLoadingEntityEntry(EntityKey entityKey, LoadingEntityEntry entry)
- Specified by:
registerLoadingEntityEntryin interfaceExecutionContext
-
afterStatement
public void afterStatement(LogicalConnectionImplementor logicalConnection)
Description copied from interface:ExecutionContextHook to allow delaying calls toLogicalConnectionImplementor.afterStatement(). Mainly used in the case of batching and multi-table mutations todo (6.0) : come back and make sure we are calling this at appropriate times. despite the name, it should be called after a logical group of statements - e.g., after all of the delete statements against all of the tables for a particular entity- Specified by:
afterStatementin interfaceExecutionContext
-
hasQueryExecutionToBeAddedToStatistics
public boolean hasQueryExecutionToBeAddedToStatistics()
Description copied from interface:ExecutionContextDetermine if the query execution has to be considered by theStatistics.- Specified by:
hasQueryExecutionToBeAddedToStatisticsin interfaceExecutionContext- Returns:
- true if the query execution has to be added to the
Statistics, false otherwise.
-
-