Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.hibernate.persister.collection
Class BasicCollectionPersister  view BasicCollectionPersister download BasicCollectionPersister.java

java.lang.Object
  extended byorg.hibernate.persister.collection.AbstractCollectionPersister
      extended byorg.hibernate.persister.collection.BasicCollectionPersister
All Implemented Interfaces:
org.hibernate.metadata.CollectionMetadata, CollectionPersister, org.hibernate.persister.entity.Joinable, org.hibernate.persister.entity.PropertyMapping, QueryableCollection, SQLLoadableCollection

public class BasicCollectionPersister
extends AbstractCollectionPersister

Collection persister for collections of values and many-to-many associations.


Field Summary
 
Fields inherited from class org.hibernate.persister.collection.AbstractCollectionPersister
batchSize, elementColumnAliases, elementColumnIsInPrimaryKey, elementColumnIsSettable, elementColumnNames, elementFormulas, elementFormulaTemplates, elementIsPureFormula, elementType, hasIdentifier, hasIndex, hasWhere, identifierColumnName, indexColumnAliases, indexColumnIsSettable, indexColumnNames, indexContainsFormula, indexFormulas, indexFormulaTemplates, keyColumnAliases, keyColumnNames, qualifiedTableName, sqlWhereString
 
Constructor Summary
BasicCollectionPersister(org.hibernate.mapping.Collection collection, org.hibernate.cache.CacheConcurrencyStrategy cache, org.hibernate.cfg.Configuration cfg, org.hibernate.engine.SessionFactoryImplementor factory)
           
 
Method Summary
 boolean consumesCollectionAlias()
          Very, very, very ugly...
 boolean consumesEntityAlias()
          Very, very, very ugly...
protected  org.hibernate.loader.collection.CollectionInitializer createCollectionInitializer(java.util.Map enabledFilters)
          Create the CollectionLoader
protected  org.hibernate.loader.collection.CollectionInitializer createSubselectInitializer(org.hibernate.engine.SubselectFetch subselect, org.hibernate.engine.SessionImplementor session)
           
protected  int doUpdateRows(java.io.Serializable id, org.hibernate.collection.PersistentCollection collection, org.hibernate.engine.SessionImplementor session)
           
 java.lang.String fromJoinFragment(java.lang.String alias, boolean innerJoin, boolean includeSubclasses)
          Get the from clause part of any joins (optional operation)
protected  java.lang.String generateDeleteRowString()
          Generate the SQL DELETE that deletes a particular row
protected  java.lang.String generateDeleteString()
          Generate the SQL DELETE that deletes all rows
protected  java.lang.String generateInsertRowString()
          Generate the SQL INSERT that creates a new row
protected  java.lang.String generateUpdateRowString()
          Generate the SQL UPDATE that updates a row
 boolean isCascadeDeleteEnabled()
          Is cascade delete handled by the database-level foreign key constraint definition?
 boolean isManyToMany()
          Is this a many-to-many association? Note that this is mainly a convenience feature as the single persister does not conatin all the information needed to handle a many-to-many itself, as internally it is looked at as two many-to-ones.
 boolean isOneToMany()
          Is this a one-to-many association?
private  java.lang.String manyToManySelectFragment(org.hibernate.persister.entity.Joinable rhs, java.lang.String rhsAlias, java.lang.String lhsAlias, java.lang.String collectionSuffix)
           
 java.lang.String selectFragment(org.hibernate.persister.entity.Joinable rhs, java.lang.String rhsAlias, java.lang.String lhsAlias, java.lang.String entitySuffix, java.lang.String collectionSuffix, boolean includeCollectionColumns)
          All columns to select, when loading.
 java.lang.String whereJoinFragment(java.lang.String alias, boolean innerJoin, boolean includeSubclasses)
          Get the where clause part of any joins (optional operation)
 
Methods inherited from class org.hibernate.persister.collection.AbstractCollectionPersister
appendElementColumns, appendIdentifierColumns, appendIndexColumns, decrementIndexByBase, deleteRows, elementExists, filterFragment, filterFragment, generateDetectRowByElementString, generateDetectRowByIndexString, generateSelectFragment, generateSelectRowByIndexString, generateSelectSizeString, getAppropriateInitializer, getCache, getCacheEntryStructure, getCollectionMetadata, getCollectionPropertyColumnAliases, getCollectionSpaces, getCollectionType, getDialect, getElementByIndex, getElementClass, getElementColumnAliases, getElementColumnNames, getElementColumnNames, getElementNodeName, getElementPersister, getElementType, getFactory, getFetchMode, getIdentifierColumnAlias, getIdentifierColumnName, getIdentifierGenerator, getIdentifierType, getIndexColumnAliases, getIndexColumnNames, getIndexColumnNames, getIndexFormulas, getIndexNodeName, getIndexType, getKeyColumnAliases, getKeyColumnNames, getKeyType, getManyToManyFilterFragment, getManyToManyOrderByString, getName, getNodeName, getOwnerEntityName, getOwnerEntityPersister, getRole, getSize, getSQLDeleteRowString, getSQLDeleteString, getSQLExceptionConverter, getSQLInsertRowString, getSQLOrderByString, getSQLUpdateRowString, getSQLWhereString, getTableName, getType, hasCache, hasIndex, hasManyToManyOrdering, hasOrdering, hasOrphanDelete, hasWhere, incrementIndexByBase, indexExists, initCollectionPropertyMap, initialize, insertRows, isAffectedByEnabledFilters, isArray, isCollection, isDeleteAllCallable, isDeleteCallable, isExtraLazy, isInsertCallable, isInverse, isLazy, isMutable, isPrimitiveArray, isRowDeleteEnabled, isRowInsertEnabled, isSubselectLoadable, isUpdateCallable, isVersioned, logStaticSQL, oneToManyFilterFragment, postInstantiate, readElement, readIdentifier, readIndex, readKey, recreate, remove, selectFragment, toColumns, toColumns, toString, toType, updateRows, writeElement, writeElementToWhere, writeIdentifier, writeIndex, writeIndexToWhere, writeKey
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BasicCollectionPersister

public BasicCollectionPersister(org.hibernate.mapping.Collection collection,
                                org.hibernate.cache.CacheConcurrencyStrategy cache,
                                org.hibernate.cfg.Configuration cfg,
                                org.hibernate.engine.SessionFactoryImplementor factory)
                         throws org.hibernate.MappingException,
                                org.hibernate.cache.CacheException
Method Detail

isCascadeDeleteEnabled

public boolean isCascadeDeleteEnabled()
Description copied from interface: CollectionPersister
Is cascade delete handled by the database-level foreign key constraint definition?


generateDeleteString

protected java.lang.String generateDeleteString()
Generate the SQL DELETE that deletes all rows

Specified by:
generateDeleteString in class AbstractCollectionPersister

generateInsertRowString

protected java.lang.String generateInsertRowString()
Generate the SQL INSERT that creates a new row

Specified by:
generateInsertRowString in class AbstractCollectionPersister

generateUpdateRowString

protected java.lang.String generateUpdateRowString()
Generate the SQL UPDATE that updates a row

Specified by:
generateUpdateRowString in class AbstractCollectionPersister

generateDeleteRowString

protected java.lang.String generateDeleteRowString()
Generate the SQL DELETE that deletes a particular row

Specified by:
generateDeleteRowString in class AbstractCollectionPersister

consumesEntityAlias

public boolean consumesEntityAlias()
Description copied from interface: org.hibernate.persister.entity.Joinable
Very, very, very ugly...


consumesCollectionAlias

public boolean consumesCollectionAlias()
Description copied from interface: org.hibernate.persister.entity.Joinable
Very, very, very ugly...


isOneToMany

public boolean isOneToMany()
Description copied from interface: CollectionPersister
Is this a one-to-many association?


isManyToMany

public boolean isManyToMany()
Description copied from interface: CollectionPersister
Is this a many-to-many association? Note that this is mainly a convenience feature as the single persister does not conatin all the information needed to handle a many-to-many itself, as internally it is looked at as two many-to-ones.

Specified by:
isManyToMany in interface CollectionPersister
Specified by:
isManyToMany in class AbstractCollectionPersister

doUpdateRows

protected int doUpdateRows(java.io.Serializable id,
                           org.hibernate.collection.PersistentCollection collection,
                           org.hibernate.engine.SessionImplementor session)
                    throws org.hibernate.HibernateException
Specified by:
doUpdateRows in class AbstractCollectionPersister

selectFragment

public java.lang.String selectFragment(org.hibernate.persister.entity.Joinable rhs,
                                       java.lang.String rhsAlias,
                                       java.lang.String lhsAlias,
                                       java.lang.String entitySuffix,
                                       java.lang.String collectionSuffix,
                                       boolean includeCollectionColumns)
Description copied from interface: org.hibernate.persister.entity.Joinable
All columns to select, when loading.


manyToManySelectFragment

private java.lang.String manyToManySelectFragment(org.hibernate.persister.entity.Joinable rhs,
                                                  java.lang.String rhsAlias,
                                                  java.lang.String lhsAlias,
                                                  java.lang.String collectionSuffix)

createCollectionInitializer

protected org.hibernate.loader.collection.CollectionInitializer createCollectionInitializer(java.util.Map enabledFilters)
                                                                                     throws org.hibernate.MappingException
Create the CollectionLoader

Specified by:
createCollectionInitializer in class AbstractCollectionPersister

fromJoinFragment

public java.lang.String fromJoinFragment(java.lang.String alias,
                                         boolean innerJoin,
                                         boolean includeSubclasses)
Description copied from interface: org.hibernate.persister.entity.Joinable
Get the from clause part of any joins (optional operation)


whereJoinFragment

public java.lang.String whereJoinFragment(java.lang.String alias,
                                          boolean innerJoin,
                                          boolean includeSubclasses)
Description copied from interface: org.hibernate.persister.entity.Joinable
Get the where clause part of any joins (optional operation)


createSubselectInitializer

protected org.hibernate.loader.collection.CollectionInitializer createSubselectInitializer(org.hibernate.engine.SubselectFetch subselect,
                                                                                           org.hibernate.engine.SessionImplementor session)
Specified by:
createSubselectInitializer in class AbstractCollectionPersister