Class BasicCollectionPersister
java.lang.Object
org.hibernate.persister.collection.AbstractCollectionPersister
org.hibernate.persister.collection.BasicCollectionPersister
- All Implemented Interfaces:
CollectionMetadata,CollectionPersister,QueryableCollection,SQLLoadableCollection,Joinable,PropertyMapping
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, elementColumnReaders, elementColumnReaderTemplates, elementColumnWriters, elementFormulas, elementFormulaTemplates, elementIsPureFormula, elementType, hasIdentifier, hasIndex, hasWhere, identifierColumnName, indexColumnAliases, indexColumnIsSettable, indexColumnNames, indexContainsFormula, indexFormulas, indexFormulaTemplates, keyColumnAliases, keyColumnNames, qualifiedTableName, sqlWhereString -
Constructor Summary
ConstructorsConstructorDescriptionBasicCollectionPersister(Collection collection, CollectionRegionAccessStrategy cacheAccessStrategy, Configuration cfg, SessionFactoryImplementor factory) -
Method Summary
Modifier and TypeMethodDescriptionbooleanVery, very, very ugly...booleanVery, very, very ugly...protected CollectionInitializercreateCollectionInitializer(LoadQueryInfluencers loadQueryInfluencers) Create the CollectionLoaderprotected CollectionInitializercreateSubselectInitializer(SubselectFetch subselect, SessionImplementor session) protected intdoUpdateRows(Serializable id, PersistentCollection collection, SessionImplementor session) fromJoinFragment(String alias, boolean innerJoin, boolean includeSubclasses) Get the from clause part of any joins (optional operation)protected StringGenerate the SQL DELETE that deletes a particular rowprotected StringGenerate the SQL DELETE that deletes all rowsprotected StringGenerate the SQL INSERT that creates a new rowprotected StringGenerate the SQL UPDATE that updates a rowbooleanIs cascade delete handled by the database-level foreign key constraint definition?booleanIs 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.booleanIs this a one-to-many association?selectFragment(Joinable rhs, String rhsAlias, String lhsAlias, String entitySuffix, String collectionSuffix, boolean includeCollectionColumns) All columns to select, when loading.whereJoinFragment(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, getCacheAccessStrategy, getCacheEntryStructure, getCollectionMetadata, getCollectionPropertyColumnAliases, getCollectionSpaces, getCollectionType, getDeleteAllCheckStyle, getDeleteCheckStyle, getDialect, getElementByIndex, getElementClass, getElementColumnAliases, getElementColumnNames, getElementColumnNames, getElementNodeName, getElementPersister, getElementType, getFactory, getFetchMode, getIdentifierColumnAlias, getIdentifierColumnName, getIdentifierGenerator, getIdentifierType, getIndexColumnAliases, getIndexColumnNames, getIndexColumnNames, getIndexFormulas, getIndexNodeName, getIndexType, getInitializer, getInsertCheckStyle, getKeyColumnAliases, getKeyColumnNames, getKeyType, getManyToManyFilterFragment, getManyToManyOrderByString, getName, getNodeName, getOwnerEntityName, getOwnerEntityPersister, getRole, getSize, getSQLDeleteRowString, getSQLDeleteString, getSQLExceptionConverter, getSQLInsertRowString, getSQLOrderByString, getSQLUpdateRowString, getSQLWhereString, getTableName, getType, getUpdateCheckStyle, 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
-
Constructor Details
-
BasicCollectionPersister
public BasicCollectionPersister(Collection collection, CollectionRegionAccessStrategy cacheAccessStrategy, Configuration cfg, SessionFactoryImplementor factory) throws MappingException, CacheException - Throws:
MappingExceptionCacheException
-
-
Method Details
-
isCascadeDeleteEnabled
public boolean isCascadeDeleteEnabled()Description copied from interface:CollectionPersisterIs cascade delete handled by the database-level foreign key constraint definition? -
generateDeleteString
Generate the SQL DELETE that deletes all rows- Specified by:
generateDeleteStringin classAbstractCollectionPersister
-
generateInsertRowString
Generate the SQL INSERT that creates a new row- Specified by:
generateInsertRowStringin classAbstractCollectionPersister
-
generateUpdateRowString
Generate the SQL UPDATE that updates a row- Specified by:
generateUpdateRowStringin classAbstractCollectionPersister
-
generateDeleteRowString
Generate the SQL DELETE that deletes a particular row- Specified by:
generateDeleteRowStringin classAbstractCollectionPersister
-
consumesEntityAlias
public boolean consumesEntityAlias()Description copied from interface:JoinableVery, very, very ugly...- Returns:
- Does this persister "consume" entity column aliases in the result set?
-
consumesCollectionAlias
public boolean consumesCollectionAlias()Description copied from interface:JoinableVery, very, very ugly...- Returns:
- Does this persister "consume" collection column aliases in the result set?
-
isOneToMany
public boolean isOneToMany()Description copied from interface:CollectionPersisterIs this a one-to-many association? -
isManyToMany
public boolean isManyToMany()Description copied from interface:CollectionPersisterIs 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:
isManyToManyin interfaceCollectionPersister- Specified by:
isManyToManyin classAbstractCollectionPersister
-
doUpdateRows
protected int doUpdateRows(Serializable id, PersistentCollection collection, SessionImplementor session) throws HibernateException - Specified by:
doUpdateRowsin classAbstractCollectionPersister- Throws:
HibernateException
-
selectFragment
public String selectFragment(Joinable rhs, String rhsAlias, String lhsAlias, String entitySuffix, String collectionSuffix, boolean includeCollectionColumns) Description copied from interface:JoinableAll columns to select, when loading. -
createCollectionInitializer
protected CollectionInitializer createCollectionInitializer(LoadQueryInfluencers loadQueryInfluencers) throws MappingException Create the CollectionLoader- Specified by:
createCollectionInitializerin classAbstractCollectionPersister- Throws:
MappingException- See Also:
-
fromJoinFragment
Description copied from interface:JoinableGet the from clause part of any joins (optional operation) -
whereJoinFragment
Description copied from interface:JoinableGet the where clause part of any joins (optional operation) -
createSubselectInitializer
protected CollectionInitializer createSubselectInitializer(SubselectFetch subselect, SessionImplementor session) - Specified by:
createSubselectInitializerin classAbstractCollectionPersister
-