org.hibernate.loader.collection
Class CollectionLoader
java.lang.Object
org.hibernate.loader.Loader
org.hibernate.loader.BasicLoader
org.hibernate.loader.OuterJoinLoader
org.hibernate.loader.collection.CollectionLoader
- All Implemented Interfaces:
- CollectionInitializer
- Direct Known Subclasses:
- SubselectCollectionLoader
- public class CollectionLoader
- extends OuterJoinLoader
- implements CollectionInitializer
Loads a collection of values or a many-to-many association.
The collection persister must implement QueryableCOllection. For
other collections, create a customized subclass of Loader.
- Author:
- Gavin King
- See Also:
OneToManyLoader
Methods inherited from class org.hibernate.loader.OuterJoinLoader |
containsCollectionPersister, countEntityPersisters, generateRootAlias, generateTableAlias, getDialect, getEnabledFilters, getEntityPersisters, getJoinType, getLockModes, getOwnerAssociationTypes, getOwners, getSQLString, getSuffixes, isDuplicateAssociation, isDuplicateAssociation, isJoinable, isJoinedFetchEnabled, isJoinedFetchEnabledInMapping, isTooDeep, mergeOuterJoins, selectString, walkCollectionTree, walkEntityTree, whereString |
Methods inherited from class org.hibernate.loader.Loader |
applyLocks, bindNamedParameters, bindPositionalParameters, doList, getCollectionOwner, getEntityEagerPropertyFetches, getFactory, getQueryIdentifier, getResultColumnOrRow, getResultList, getResultSet, getResultSet, hasSubselectLoadableCollections, isSingleRowLoader, list, loadCollection, loadCollectionBatch, loadCollectionSubselect, loadEntity, loadEntityBatch, loadSingleRow, prepareQueryStatement, preprocessSQL, scroll, upgradeLocks |
CollectionLoader
public CollectionLoader(QueryableCollection persister,
SessionFactoryImplementor session,
Map enabledFilters)
throws MappingException
CollectionLoader
public CollectionLoader(QueryableCollection persister,
int batchSize,
SessionFactoryImplementor factory,
Map enabledFilters)
throws MappingException
CollectionLoader
public CollectionLoader(QueryableCollection persister,
int batchSize,
String subquery,
SessionFactoryImplementor factory,
Map enabledFilters)
throws MappingException
getCollectionPersister
protected CollectionPersister getCollectionPersister()
- Description copied from class:
Loader
- An (optional) persister for a collection to be initialized; only collection loaders
return a non-null value
- Overrides:
getCollectionPersister
in class Loader
initialize
public void initialize(Serializable id,
SessionImplementor session)
throws HibernateException
- Description copied from interface:
CollectionInitializer
- Initialize the given collection
- Specified by:
initialize
in interface CollectionInitializer
- Throws:
HibernateException
getJoinType
protected int getJoinType(AssociationType type,
FetchMode config,
String path,
Set visitedAssociations,
String lhsTable,
String[] lhsColumns,
boolean nullable,
int currentDepth)
throws MappingException
- We can use an inner join for first many-to-many association
- Overrides:
getJoinType
in class OuterJoinLoader
- Throws:
MappingException
getKeyType
protected Type getKeyType()
toString
public String toString()
- Overrides:
toString
in class Loader
getAliases
protected String[] getAliases()
- Description copied from class:
Loader
- Get the SQL table aliases of entities whose
associations are subselect-loadable, returning
null if this loader does not support subselect
loading
- Overrides:
getAliases
in class Loader
isSubselectLoadingEnabled
protected boolean isSubselectLoadingEnabled()
- Overrides:
isSubselectLoadingEnabled
in class Loader