## org.hibernate.loader
Class OuterJoinLoader

    java.lang.Object
      org.hibernate.loader.Loader
          org.hibernate.loader.BasicLoader
              org.hibernate.loader.OuterJoinLoader

Direct Known Subclasses:
  AbstractEntityLoader, CollectionElementLoader, CollectionLoader, CriteriaLoader

    public abstract class OuterJoinLoader

extends BasicLoader

Implements logic for walking a tree of associated classes. Generates an SQL select string containing all properties of those classes. Tables are joined using an ANSI-style left outer join.

Author:
  Gavin King

Field Summary
`protected String[]` `aliases`
`protected int[]` `collectionOwners`
`protected CollectionPersister[]` `collectionPersisters`
`protected String[]` `collectionSuffixes`
`protected LockMode[]` `lockModeArray`
`protected EntityType[]` `ownerAssociationTypes`
`protected int[]` `owners`
`protected Loadable[]` `persisters`
`protected String` `sql`
`protected String[]` `suffixes`

Fields inherited from class org.hibernate.loader.BasicLoader
`NO_SUFFIX`

Constructor Summary
`OuterJoinLoader(SessionFactoryImplementor factory, LoadQueryInfluencers loadQueryInfluencers)`

Method Summary
`protected 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
`protected String[]` `getCollectionSuffixes()`
`protected Dialect` `getDialect()`
`protected Loadable[]` `getEntityPersisters()` An array of persisters of entity classes contained in each row of results; implemented by all subclasses
`LoadQueryInfluencers` `getLoadQueryInfluencers()`
`protected LockMode[]` `getLockModes(LockOptions lockOptions)` What lock options does this load entities with?
`protected LockOptions` `getLockOptions()`
`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` `getSQLString()` The SQL query string to be called; implemented by all subclasses
`protected String[]` `getSuffixes()`
`protected void` `initFromWalker(JoinWalker walker)`

Methods inherited from class org.hibernate.loader.BasicLoader
`generateSuffixes, generateSuffixes, getCollectionAliases, getEntityAliases, postInstantiate`

Methods inherited from class org.hibernate.loader.Loader

`applyLocks, applyPostLoadLocks, areResultSetRowsTransformedImmediately, autoDiscoverTypes, bindNamedParameters, bindParameterValues, bindPositionalParameters, checkScrollability, doList, extractKeysFromResultSet, getCompositeKeyManyToOneTargetIndices, getEntityEagerPropertyFetches, getFactory, getNamedParameterLocs, getQueryIdentifier, getResultColumnOrRow, getResultList, getResultSet, hasSubselectLoadableCollections, isSingleRowLoader, isSubselectLoadingEnabled, list, loadCollection, loadCollectionBatch, loadCollectionSubselect, loadEntity, loadEntity, loadEntityBatch, loadSequentialRowsForward, loadSequentialRowsReverse, loadSingleRow, needsFetchingScroll, prepareQueryStatement, preprocessSQL, resolveResultTransformer, scroll, toString, upgradeLocks`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### persisters

    protected Loadable[] persisters

### collectionPersisters

    protected CollectionPersister[] collectionPersisters

### collectionOwners

    protected int[] collectionOwners

### aliases

    protected String[] aliases

### lockModeArray

    protected LockMode[] lockModeArray

### owners

    protected int[] owners

### ownerAssociationTypes

    protected EntityType[] ownerAssociationTypes

### sql

    protected String sql

### suffixes

    protected String[] suffixes

### collectionSuffixes

    protected String[] collectionSuffixes

Constructor Detail

### OuterJoinLoader

    public OuterJoinLoader(SessionFactoryImplementor factory,
                           LoadQueryInfluencers loadQueryInfluencers)

Method Detail

### getDialect

    protected final Dialect getDialect()

### getSuffixes

    protected String[] getSuffixes()

  Specified by:
    `getSuffixes` in class `BasicLoader`

### getCollectionSuffixes

    protected String[] getCollectionSuffixes()

  Specified by:
    `getCollectionSuffixes` in class `BasicLoader`

### getSQLString

    protected final String getSQLString()

  Description copied from class: `Loader`
  The SQL query string to be called; implemented by all subclasses

  Specified by:
    `getSQLString` in class `Loader`
  Returns:
    The sql command this loader should use to get its `ResultSet`.

### getEntityPersisters

    protected final Loadable[] getEntityPersisters()

  Description copied from class: `Loader`
  An array of persisters of entity classes contained in each row of results; implemented by all subclasses

  Specified by:
    `getEntityPersisters` in class `Loader`
  Returns:
    The entity persisters.

### getOwners

    protected int[] getOwners()

  Description copied from class: `Loader`
  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"). The indexes contained here are relative to the result of `Loader.getEntityPersisters()`.

  Overrides:
    `getOwners` in class `Loader`
  Returns:
    The owner indicators (see discussion above).

### getOwnerAssociationTypes

    protected EntityType[] getOwnerAssociationTypes()

  Description copied from class: `Loader`
  An array of the owner types corresponding to the `Loader.getOwners()` returns. Indices indicating no owner would be null here.

  Overrides:
    `getOwnerAssociationTypes` in class `Loader`
  Returns:
    The types for the owners.

### getLockModes

    protected LockMode[] getLockModes(LockOptions lockOptions)

  Description copied from class: `Loader`
  What lock options does this load entities with?

  Specified by:
    `getLockModes` in class `Loader`
  Parameters:
    `lockOptions` - a collection of lock options specified dynamically via the Query interface

### getLockOptions

    protected LockOptions getLockOptions()

### getLoadQueryInfluencers

    public LoadQueryInfluencers getLoadQueryInfluencers()

### getAliases

    protected final 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`

### getCollectionPersisters

    protected final CollectionPersister[] getCollectionPersisters()

  Description copied from class: `Loader`
  An (optional) persister for a collection to be initialized; only collection loaders return a non-null value

  Overrides:
    `getCollectionPersisters` in class `Loader`

### getCollectionOwners

    protected final int[] getCollectionOwners()

  Description copied from class: `Loader`
  Get the index of the entity that owns the collection, or -1 if there is no owner in the query results (ie. in the case of a collection initializer) or no collection.

  Overrides:
    `getCollectionOwners` in class `Loader`

### initFromWalker

    protected void initFromWalker(JoinWalker walker)

Copyright © 2001-2010 Red Hat, Inc. All Rights Reserved.