Class ReactiveQueryLoader<T>
- java.lang.Object
-
- org.hibernate.loader.Loader
-
- org.hibernate.loader.BasicLoader
-
- org.hibernate.loader.hql.QueryLoader
-
- org.hibernate.reactive.loader.hql.impl.ReactiveQueryLoader<T>
-
- All Implemented Interfaces:
CachingReactiveLoader<T>
,ReactiveLoader
,ReactiveLoaderBasedLoader
public class ReactiveQueryLoader<T> extends org.hibernate.loader.hql.QueryLoader implements CachingReactiveLoader<T>, ReactiveLoaderBasedLoader
A reactiveQueryLoader
for HQL queries.
-
-
Field Summary
-
Fields inherited from interface org.hibernate.reactive.loader.CachingReactiveLoader
LOG
-
-
Constructor Summary
Constructors Constructor Description ReactiveQueryLoader(org.hibernate.hql.internal.ast.QueryTranslatorImpl queryTranslator, org.hibernate.engine.spi.SessionFactoryImplementor factory, org.hibernate.hql.internal.ast.tree.SelectClause selectClause)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
areResultSetRowsTransformedImmediately()
void
bindToPreparedStatement(java.sql.PreparedStatement adaptor, org.hibernate.engine.spi.QueryParameters queryParameters, org.hibernate.dialect.pagination.LimitHandler limitHandler, org.hibernate.engine.spi.SharedSessionContractImplementor session)
void
createSubselects(java.util.List keys, org.hibernate.engine.spi.QueryParameters queryParameters, org.hibernate.engine.spi.SharedSessionContractImplementor session)
void
endCollectionLoad(java.lang.Object resultSetId, org.hibernate.engine.spi.SharedSessionContractImplementor session, org.hibernate.persister.collection.CollectionPersister collectionPersister)
org.hibernate.persister.collection.CollectionPersister[]
getCollectionPersisters()
java.util.List<java.lang.Object>
getReactiveResultFromQueryCache(org.hibernate.engine.spi.SharedSessionContractImplementor session, org.hibernate.engine.spi.QueryParameters queryParameters, java.util.Set<java.io.Serializable> querySpaces, org.hibernate.type.Type[] resultTypes, org.hibernate.cache.spi.QueryResultsCache queryCache, org.hibernate.cache.spi.QueryKey key)
ReactiveResultSetProcessor
getReactiveResultSetProcessor()
java.util.List<java.lang.Object>
getResultList(java.util.List results, org.hibernate.transform.ResultTransformer resultTransformer)
java.lang.String[]
getResultRowAliases()
java.util.List<java.lang.Object>
getRowsFromResultSet(java.sql.ResultSet rs, org.hibernate.engine.spi.QueryParameters queryParameters, org.hibernate.engine.spi.SharedSessionContractImplementor session, boolean returnProxies, org.hibernate.transform.ResultTransformer forcedResultTransformer, int maxRows, java.util.List<java.lang.Object> hydratedObjects, java.util.List<org.hibernate.engine.spi.EntityKey[]> subselectResultKeys)
boolean[]
includeInResultRow()
boolean
isSubselectLoadingEnabled()
Parameters
parameters()
java.lang.String
preprocessSQL(java.lang.String sql, org.hibernate.engine.spi.QueryParameters queryParameters, org.hibernate.engine.spi.SessionFactoryImplementor factory, java.util.List<org.hibernate.loader.spi.AfterLoadAction> afterLoadActions)
Used by query loaders to add stuff like locking and hints/commentsjava.util.List<java.lang.Object>
processResultSet(java.sql.ResultSet resultSet, org.hibernate.engine.spi.QueryParameters queryParameters, org.hibernate.engine.spi.SharedSessionContractImplementor session, boolean returnProxies, org.hibernate.transform.ResultTransformer forcedResultTransformer, int maxRows, java.util.List<org.hibernate.loader.spi.AfterLoadAction> afterLoadActions)
void
putReactiveResultInQueryCache(org.hibernate.engine.spi.SharedSessionContractImplementor session, org.hibernate.engine.spi.QueryParameters queryParameters, org.hibernate.type.Type[] resultTypes, org.hibernate.cache.spi.QueryResultsCache queryCache, org.hibernate.cache.spi.QueryKey key, java.util.List<java.lang.Object> cachableList)
java.util.concurrent.CompletionStage<java.util.List<T>>
reactiveList(org.hibernate.engine.spi.SharedSessionContractImplementor session, org.hibernate.engine.spi.QueryParameters queryParameters)
protected java.util.concurrent.CompletionStage<java.util.List<T>>
reactiveList(org.hibernate.engine.spi.SharedSessionContractImplementor session, org.hibernate.engine.spi.QueryParameters queryParameters, java.util.Set<java.io.Serializable> querySpaces, org.hibernate.type.Type[] resultTypes)
Return the query results, using the query cache, called by subclasses that implement cacheable queriesorg.hibernate.transform.ResultTransformer
resolveResultTransformer(org.hibernate.transform.ResultTransformer resultTransformer)
-
Methods inherited from class org.hibernate.loader.hql.QueryLoader
applyLocks, applyPostLoadLocks, bindParameterValues, buildHolderInstantiator, checkQuery, getAggregatedSelectExpression, getAliases, getCollectionOwners, getCollectionSuffixes, getEntityEagerPerPropertyFetches, getEntityEagerPropertyFetches, getEntityPersisters, getLockModes, getNamedParameterLocs, getOwnerAssociationTypes, getOwners, getQueryIdentifier, getResultColumnOrRow, getResultRow, getSqlAliasSuffixes, getSQLString, getSuffixes, hasSelectNew, iterate, list, needsFetchingScroll, scroll, upgradeLocks, validateScrollability
-
Methods inherited from class org.hibernate.loader.BasicLoader
generateSuffixes, generateSuffixes, getCollectionAliases, getEntityAliases, postInstantiate
-
Methods inherited from class org.hibernate.loader.Loader
autoDiscoverTypes, bindNamedParameters, bindPositionalParameters, bindPreparedStatement, checkScrollability, createCacheableResultTransformer, determineFollowOnLockMode, doList, doQueryAndInitializeNonLazyCollections, doQueryAndInitializeNonLazyCollections, executeQueryStatement, executeQueryStatement, extractKeysFromResultSet, generateQueryKey, getCompositeKeyManyToOneTargetIndices, getEntityPersister, getFactory, getLimitHandler, getOptionalObjectKey, getResultFromQueryCache, getResultSet, getResultSet, handleEmptyCollections, hasSubselectLoadableCollections, instanceAlreadyLoaded, instanceNotYetLoaded, isSingleRowLoader, list, loadCollection, loadCollectionBatch, loadCollectionSubselect, loadEntity, loadEntity, loadEntityBatch, loadEntityBatch, loadSequentialRowsForward, loadSequentialRowsReverse, loadSingleRow, prepareQueryStatement, preprocessResultSet, processDistinctKeyword, putResultInQueryCache, registerNonExists, scroll, shouldUseFollowOnLocking, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.hibernate.reactive.loader.CachingReactiveLoader
cacheableResultTransformer, doReactiveList, queryKey, reactiveListIgnoreQueryCache, reactiveListUsingQueryCache, toParameterArray, transform
-
Methods inherited from interface org.hibernate.reactive.loader.ReactiveLoader
discoverTypes, doReactiveQueryAndInitializeNonLazyCollections, doReactiveQueryAndInitializeNonLazyCollections, executeReactiveQueryStatement, isPostgresSQL, limitHandler, reactiveProcessResultSet
-
Methods inherited from interface org.hibernate.reactive.loader.ReactiveLoaderBasedLoader
getEntityPersisters, getFactory
-
-
-
-
Method Detail
-
parameters
public Parameters parameters()
- Specified by:
parameters
in interfaceReactiveLoader
-
reactiveList
public java.util.concurrent.CompletionStage<java.util.List<T>> reactiveList(org.hibernate.engine.spi.SharedSessionContractImplementor session, org.hibernate.engine.spi.QueryParameters queryParameters) throws org.hibernate.HibernateException
- Throws:
org.hibernate.HibernateException
-
reactiveList
protected java.util.concurrent.CompletionStage<java.util.List<T>> reactiveList(org.hibernate.engine.spi.SharedSessionContractImplementor session, org.hibernate.engine.spi.QueryParameters queryParameters, java.util.Set<java.io.Serializable> querySpaces, org.hibernate.type.Type[] resultTypes) throws org.hibernate.HibernateException
Return the query results, using the query cache, called by subclasses that implement cacheable queries- Throws:
org.hibernate.HibernateException
- See Also:
Loader.list(SharedSessionContractImplementor, QueryParameters, Set, Type[])
-
processResultSet
public java.util.List<java.lang.Object> processResultSet(java.sql.ResultSet resultSet, org.hibernate.engine.spi.QueryParameters queryParameters, org.hibernate.engine.spi.SharedSessionContractImplementor session, boolean returnProxies, org.hibernate.transform.ResultTransformer forcedResultTransformer, int maxRows, java.util.List<org.hibernate.loader.spi.AfterLoadAction> afterLoadActions)
- Overrides:
processResultSet
in classorg.hibernate.loader.Loader
-
getReactiveResultSetProcessor
public ReactiveResultSetProcessor getReactiveResultSetProcessor()
- Specified by:
getReactiveResultSetProcessor
in interfaceReactiveLoader
-
preprocessSQL
public java.lang.String preprocessSQL(java.lang.String sql, org.hibernate.engine.spi.QueryParameters queryParameters, org.hibernate.engine.spi.SessionFactoryImplementor factory, java.util.List<org.hibernate.loader.spi.AfterLoadAction> afterLoadActions)
Description copied from interface:ReactiveLoader
Used by query loaders to add stuff like locking and hints/comments- Specified by:
preprocessSQL
in interfaceReactiveLoader
- Overrides:
preprocessSQL
in classorg.hibernate.loader.Loader
- See Also:
Loader.preprocessSQL(String, QueryParameters, SessionFactoryImplementor, List)
-
includeInResultRow
public boolean[] includeInResultRow()
- Specified by:
includeInResultRow
in interfaceCachingReactiveLoader<T>
- Overrides:
includeInResultRow
in classorg.hibernate.loader.hql.QueryLoader
-
getReactiveResultFromQueryCache
public java.util.List<java.lang.Object> getReactiveResultFromQueryCache(org.hibernate.engine.spi.SharedSessionContractImplementor session, org.hibernate.engine.spi.QueryParameters queryParameters, java.util.Set<java.io.Serializable> querySpaces, org.hibernate.type.Type[] resultTypes, org.hibernate.cache.spi.QueryResultsCache queryCache, org.hibernate.cache.spi.QueryKey key)
- Specified by:
getReactiveResultFromQueryCache
in interfaceCachingReactiveLoader<T>
-
putReactiveResultInQueryCache
public void putReactiveResultInQueryCache(org.hibernate.engine.spi.SharedSessionContractImplementor session, org.hibernate.engine.spi.QueryParameters queryParameters, org.hibernate.type.Type[] resultTypes, org.hibernate.cache.spi.QueryResultsCache queryCache, org.hibernate.cache.spi.QueryKey key, java.util.List<java.lang.Object> cachableList)
- Specified by:
putReactiveResultInQueryCache
in interfaceCachingReactiveLoader<T>
-
resolveResultTransformer
public org.hibernate.transform.ResultTransformer resolveResultTransformer(org.hibernate.transform.ResultTransformer resultTransformer)
- Specified by:
resolveResultTransformer
in interfaceCachingReactiveLoader<T>
- Overrides:
resolveResultTransformer
in classorg.hibernate.loader.hql.QueryLoader
-
getResultRowAliases
public java.lang.String[] getResultRowAliases()
- Specified by:
getResultRowAliases
in interfaceCachingReactiveLoader<T>
- Overrides:
getResultRowAliases
in classorg.hibernate.loader.hql.QueryLoader
-
areResultSetRowsTransformedImmediately
public boolean areResultSetRowsTransformedImmediately()
- Specified by:
areResultSetRowsTransformedImmediately
in interfaceCachingReactiveLoader<T>
- Overrides:
areResultSetRowsTransformedImmediately
in classorg.hibernate.loader.Loader
-
getResultList
public java.util.List<java.lang.Object> getResultList(java.util.List results, org.hibernate.transform.ResultTransformer resultTransformer) throws org.hibernate.QueryException
- Specified by:
getResultList
in interfaceCachingReactiveLoader<T>
- Overrides:
getResultList
in classorg.hibernate.loader.hql.QueryLoader
- Throws:
org.hibernate.QueryException
-
bindToPreparedStatement
public void bindToPreparedStatement(java.sql.PreparedStatement adaptor, org.hibernate.engine.spi.QueryParameters queryParameters, org.hibernate.dialect.pagination.LimitHandler limitHandler, org.hibernate.engine.spi.SharedSessionContractImplementor session) throws java.sql.SQLException
- Specified by:
bindToPreparedStatement
in interfaceCachingReactiveLoader<T>
- Throws:
java.sql.SQLException
-
getCollectionPersisters
public org.hibernate.persister.collection.CollectionPersister[] getCollectionPersisters()
- Specified by:
getCollectionPersisters
in interfaceReactiveLoaderBasedLoader
- Overrides:
getCollectionPersisters
in classorg.hibernate.loader.hql.QueryLoader
-
isSubselectLoadingEnabled
public boolean isSubselectLoadingEnabled()
- Specified by:
isSubselectLoadingEnabled
in interfaceReactiveLoaderBasedLoader
- Overrides:
isSubselectLoadingEnabled
in classorg.hibernate.loader.hql.QueryLoader
-
getRowsFromResultSet
public java.util.List<java.lang.Object> getRowsFromResultSet(java.sql.ResultSet rs, org.hibernate.engine.spi.QueryParameters queryParameters, org.hibernate.engine.spi.SharedSessionContractImplementor session, boolean returnProxies, org.hibernate.transform.ResultTransformer forcedResultTransformer, int maxRows, java.util.List<java.lang.Object> hydratedObjects, java.util.List<org.hibernate.engine.spi.EntityKey[]> subselectResultKeys) throws java.sql.SQLException
- Specified by:
getRowsFromResultSet
in interfaceReactiveLoaderBasedLoader
- Overrides:
getRowsFromResultSet
in classorg.hibernate.loader.Loader
- Throws:
java.sql.SQLException
-
createSubselects
public void createSubselects(java.util.List keys, org.hibernate.engine.spi.QueryParameters queryParameters, org.hibernate.engine.spi.SharedSessionContractImplementor session)
- Specified by:
createSubselects
in interfaceReactiveLoaderBasedLoader
- Overrides:
createSubselects
in classorg.hibernate.loader.Loader
-
endCollectionLoad
public void endCollectionLoad(java.lang.Object resultSetId, org.hibernate.engine.spi.SharedSessionContractImplementor session, org.hibernate.persister.collection.CollectionPersister collectionPersister)
- Specified by:
endCollectionLoad
in interfaceReactiveLoaderBasedLoader
- Overrides:
endCollectionLoad
in classorg.hibernate.loader.Loader
-
-