|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.hibernate.loader.Loader org.hibernate.loader.BasicLoader org.hibernate.loader.hql.QueryLoader
public class QueryLoader
A delegate that implements the Loader part of QueryTranslator.
Field Summary |
---|
Fields inherited from class org.hibernate.loader.BasicLoader |
---|
NO_SUFFIX |
Fields inherited from class org.hibernate.loader.Loader |
---|
LOG |
Constructor Summary | |
---|---|
QueryLoader(QueryTranslatorImpl queryTranslator,
SessionFactoryImplementor factory,
SelectClause selectClause)
Creates a new Loader implementation. |
Method Summary | |
---|---|
protected String |
applyLocks(String sql,
LockOptions lockOptions,
Dialect dialect)
Append FOR UPDATE OF clause, if necessary. |
protected void |
applyPostLoadLocks(Object[] row,
LockMode[] lockModesArray,
SessionImplementor session)
|
protected int |
bindParameterValues(PreparedStatement statement,
QueryParameters queryParameters,
int startIndex,
SessionImplementor session)
We specifically override this method here, because in general we know much more about the parameters and their appropriate bind positions here then we do in our super because we track them explciitly here through the ParameterSpecification interface. |
AggregatedSelectExpression |
getAggregatedSelectExpression()
|
String[] |
getAliases()
Get the SQL table aliases of entities whose associations are subselect-loadable, returning null if this loader does not support subselect loading |
protected int[] |
getCollectionOwners()
Get the index of the entity that owns the collection, or -1 if there is no owner in the query results (ie. |
protected CollectionPersister[] |
getCollectionPersisters()
An (optional) persister for a collection to be initialized; only collection loaders return a non-null value |
String[] |
getCollectionSuffixes()
|
protected boolean[] |
getEntityEagerPropertyFetches()
An array indicating whether the entities have eager property fetching enabled. |
Loadable[] |
getEntityPersisters()
An array of persisters of entity classes contained in each row of results; implemented by all subclasses |
protected LockMode[] |
getLockModes(LockOptions lockOptions)
What lock options does this load entities with? |
int[] |
getNamedParameterLocs(String name)
Returns the locations of all occurrences of the named parameter. |
protected EntityType[] |
getOwnerAssociationTypes()
An array of the owner types corresponding to the Loader.getOwners()
returns. |
protected int[] |
getOwners()
An array of indexes of the entity that owns a one-to-one association to the entity at the given index (-1 if there is no "owner") |
protected String |
getQueryIdentifier()
Identifies the query for statistics reporting, if null, no statistics will be reported |
protected Object |
getResultColumnOrRow(Object[] row,
ResultTransformer transformer,
ResultSet rs,
SessionImplementor session)
Get the actual object that is returned in the user-visible result list. |
protected List |
getResultList(List results,
ResultTransformer resultTransformer)
|
protected Object[] |
getResultRow(Object[] row,
ResultSet rs,
SessionImplementor session)
|
protected String[] |
getResultRowAliases()
Returns the aliases that corresponding to a result row. |
String[] |
getSqlAliasSuffixes()
|
protected String |
getSQLString()
The SQL query string to be called. |
String[] |
getSuffixes()
|
protected boolean[] |
includeInResultRow()
|
protected boolean |
isSubselectLoadingEnabled()
|
Iterator |
iterate(QueryParameters queryParameters,
EventSource session)
|
List |
list(SessionImplementor session,
QueryParameters queryParameters)
|
protected boolean |
needsFetchingScroll()
Does the result set to be scrolled contain collection fetches? |
protected ResultTransformer |
resolveResultTransformer(ResultTransformer resultTransformer)
Determine the actual ResultTransformer that will be used to transform query results. |
ScrollableResults |
scroll(QueryParameters queryParameters,
SessionImplementor session)
|
protected boolean |
upgradeLocks()
Does this query return objects that might be already cached by the session, whose lock mode may need upgrading |
void |
validateScrollability()
|
Methods inherited from class org.hibernate.loader.BasicLoader |
---|
generateSuffixes, generateSuffixes, getCollectionAliases, getEntityAliases, postInstantiate |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public QueryLoader(QueryTranslatorImpl queryTranslator, SessionFactoryImplementor factory, SelectClause selectClause)
queryTranslator
- The query translator that is the delegator.factory
- The factory from which this loader is being created.selectClause
- The AST representing the select clause for loading.Method Detail |
---|
public AggregatedSelectExpression getAggregatedSelectExpression()
public final void validateScrollability() throws HibernateException
HibernateException
protected boolean needsFetchingScroll()
Loader
needsFetchingScroll
in class Loader
public Loadable[] getEntityPersisters()
Loader
getEntityPersisters
in class Loader
public String[] getAliases()
Loader
getAliases
in class Loader
public String[] getSqlAliasSuffixes()
public String[] getSuffixes()
getSuffixes
in class BasicLoader
public String[] getCollectionSuffixes()
getCollectionSuffixes
in class BasicLoader
protected String getQueryIdentifier()
Loader
getQueryIdentifier
in class Loader
protected String getSQLString()
getSQLString
in class Loader
ResultSet
.protected CollectionPersister[] getCollectionPersisters()
getCollectionPersisters
in class Loader
protected int[] getCollectionOwners()
Loader
getCollectionOwners
in class Loader
protected boolean[] getEntityEagerPropertyFetches()
Loader
getEntityEagerPropertyFetches
in class Loader
protected int[] getOwners()
getOwners
in class Loader
protected EntityType[] getOwnerAssociationTypes()
Loader
Loader.getOwners()
returns. Indices indicating no owner would be null here.
getOwnerAssociationTypes
in class Loader
protected boolean isSubselectLoadingEnabled()
isSubselectLoadingEnabled
in class Loader
protected LockMode[] getLockModes(LockOptions lockOptions)
Loader
getLockModes
in class Loader
lockOptions
- a collection of lock modes specified dynamically via the Query interfaceprotected String applyLocks(String sql, LockOptions lockOptions, Dialect dialect) throws QueryException
Loader
applyLocks
in class Loader
QueryException
protected void applyPostLoadLocks(Object[] row, LockMode[] lockModesArray, SessionImplementor session)
applyPostLoadLocks
in class Loader
protected boolean upgradeLocks()
Loader
upgradeLocks
in class Loader
protected String[] getResultRowAliases()
Loader
getResultRowAliases
in class Loader
protected ResultTransformer resolveResultTransformer(ResultTransformer resultTransformer)
Loader
resolveResultTransformer
in class Loader
resultTransformer
- the specified result transformer
protected boolean[] includeInResultRow()
includeInResultRow
in class Loader
protected Object getResultColumnOrRow(Object[] row, ResultTransformer transformer, ResultSet rs, SessionImplementor session) throws SQLException, HibernateException
Loader
getResultColumnOrRow
in class Loader
SQLException
HibernateException
protected Object[] getResultRow(Object[] row, ResultSet rs, SessionImplementor session) throws SQLException, HibernateException
getResultRow
in class Loader
SQLException
HibernateException
protected List getResultList(List results, ResultTransformer resultTransformer) throws QueryException
getResultList
in class Loader
QueryException
public List list(SessionImplementor session, QueryParameters queryParameters) throws HibernateException
HibernateException
public Iterator iterate(QueryParameters queryParameters, EventSource session) throws HibernateException
HibernateException
public ScrollableResults scroll(QueryParameters queryParameters, SessionImplementor session) throws HibernateException
HibernateException
public int[] getNamedParameterLocs(String name) throws QueryException
getNamedParameterLocs
in class Loader
QueryException
protected int bindParameterValues(PreparedStatement statement, QueryParameters queryParameters, int startIndex, SessionImplementor session) throws SQLException
bindParameterValues
in class Loader
queryParameters
- The encapsulation of the parameter values to be bound.startIndex
- The position from which to start binding parameter values.session
- The originating session.statement
- The JDBC prepared statement
SQLException
- Indicates problems performing the binding.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |