Class BasicCollectionPersister
- java.lang.Object
-
- org.hibernate.persister.collection.AbstractCollectionPersister
-
- org.hibernate.persister.collection.BasicCollectionPersister
-
- All Implemented Interfaces:
CollectionMetadata,FilterRestrictable,PluralAttributeMappingImpl.Aware,Restrictable,WhereRestrictable,CollectionPersister,QueryableCollection,SQLLoadableCollection,Joinable,PropertyMapping
public class BasicCollectionPersister extends AbstractCollectionPersister
ACollectionPersisterfor collections of values and many-to-many associations.- See Also:
OneToManyPersister
-
-
Field Summary
-
Fields inherited from class org.hibernate.persister.collection.AbstractCollectionPersister
batchSize, elementColumnAliases, elementColumnIsGettable, elementColumnIsInPrimaryKey, elementColumnIsSettable, elementColumnNames, elementColumnReaders, elementColumnReaderTemplates, elementColumnWriters, elementFormulas, elementFormulaTemplates, elementIsPureFormula, elementType, hasIdentifier, hasIndex, hasWhere, identifierColumnName, indexColumnAliases, indexColumnIsGettable, indexColumnIsSettable, indexColumnNames, indexContainsFormula, indexFormulas, indexFormulaTemplates, isInverse, keyColumnAliases, keyColumnNames, qualifiedTableName, recreateBatchKey, sqlExceptionHelper, sqlWhereString
-
-
Constructor Summary
Constructors Constructor Description BasicCollectionPersister(Collection collectionBinding, CollectionDataAccess cacheAccessStrategy, RuntimeModelCreationContext creationContext)BasicCollectionPersister(Collection collectionBinding, CollectionDataAccess cacheAccessStrategy, PersisterCreationContext creationContext)Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanconsumesCollectionAlias()Very, very, very ugly...booleanconsumesEntityAlias()Very, very, very ugly...protected voiddoProcessQueuedOps(PersistentCollection<?> collection, Object id, SharedSessionContractImplementor session)protected intdoUpdateRows(Object id, PersistentCollection<?> collection, SharedSessionContractImplementor session)protected StringgenerateDeleteRowString()Generate the SQL DELETE that deletes a particular rowprotected StringgenerateDeleteString()Generate the SQL DELETE that deletes all rowsprotected StringgenerateInsertRowString()Generate the SQL INSERT that creates a new rowprotected StringgenerateUpdateRowString()Generate the SQL UPDATE that updates a rowFilterAliasGeneratorgetFilterAliasGenerator(String rootAlias)FilterAliasGeneratorgetFilterAliasGenerator(TableGroup tableGroup)booleanisCascadeDeleteEnabled()Is cascade delete handled by the database-level foreign key constraint definition?booleanisManyToMany()Is this a many-to-many association? Note that this is mainly a convenience feature as the single persister does not contain all the information needed to handle a many-to-many itself, as internally it is looked at as two many-to-ones.booleanisOneToMany()Is this a one-to-many association?-
Methods inherited from class org.hibernate.persister.collection.AbstractCollectionPersister
applyBaseManyToManyRestrictions, applyBaseRestrictions, applyFilterRestrictions, applyWhereFragments, applyWhereRestrictions, createCollectionLoader, createDelete, createInsert, createSubSelectLoader, createUpdate, decrementIndexByBase, deleteRows, determineLoaderToUse, determineTableName, elementExists, generateDetectRowByElementString, generateDetectRowByIndexString, generateSelectSizeString, getAttributeMapping, getBatchSize, getCacheAccessStrategy, getCacheEntryStructure, getCollectionMetadata, getCollectionPropertyColumnAliases, getCollectionSemantics, getCollectionSpaces, getCollectionType, getDeleteAllCheckStyle, getDeleteCheckStyle, getDialect, getElementByIndex, getElementClass, getElementColumnAliases, getElementColumnNames, getElementColumnNames, getElementConverter, getElementPersister, getElementPersisterInternal, getElementType, getFactory, getFetchMode, getIdentifierColumnAlias, getIdentifierColumnName, getIdentifierGenerator, getIdentifierType, getIndexColumnAliases, getIndexColumnNames, getIndexColumnNames, getIndexConverter, getIndexFormulas, getIndexType, getInsertCheckStyle, getKeyColumnAliases, getKeyColumnNames, getKeyType, getManyToManyFilterFragment, getManyToManyOrderByString, getMappedByProperty, getName, getNavigableRole, getOwnerEntityName, getOwnerEntityPersister, getRole, getSize, getSortingComparator, getSQLDeleteRowString, getSQLDeleteString, getSQLExceptionConverter, getSQLExceptionHelper, getSQLInsertRowString, getSQLOrderByString, getSQLUpdateRowString, getStandardCollectionLoader, getTableName, getUpdateCheckStyle, hasCache, hasIndex, hasManyToManyOrdering, hasOrdering, hasOrphanDelete, hasWhere, incrementIndexByBase, indexExists, initCollectionPropertyMap, initialize, injectAttributeMapping, insertRows, isAffectedByEnabledFetchProfiles, isAffectedByEnabledFilters, isAffectedByEnabledFilters, isAffectedByEntityGraph, isArray, isCollection, isDeleteAllCallable, isDeleteCallable, isExtraLazy, isInsertCallable, isInverse, isLazy, isMutable, isPrimitiveArray, isRowDeleteEnabled, isRowInsertEnabled, isSubselectLoadable, isUpdateCallable, isVersioned, logStaticSQL, needsRemove, postInstantiate, processQueuedOps, recreate, remove, selectFragment, toColumns, toString, toType, updateRows, writeElement, writeElementToWhere, writeIdentifier, writeIndex, writeIndexToWhere, writeKey
-
-
-
-
Constructor Detail
-
BasicCollectionPersister
@Deprecated(since="6.0") public BasicCollectionPersister(Collection collectionBinding, CollectionDataAccess cacheAccessStrategy, PersisterCreationContext creationContext) throws MappingException, CacheException
Deprecated.- Throws:
MappingExceptionCacheException
-
BasicCollectionPersister
public BasicCollectionPersister(Collection collectionBinding, CollectionDataAccess cacheAccessStrategy, RuntimeModelCreationContext creationContext) throws MappingException, CacheException
- Throws:
MappingExceptionCacheException
-
-
Method Detail
-
isCascadeDeleteEnabled
public boolean isCascadeDeleteEnabled()
Description copied from interface:CollectionPersisterIs cascade delete handled by the database-level foreign key constraint definition?
-
generateDeleteString
protected String generateDeleteString()
Generate the SQL DELETE that deletes all rows- Specified by:
generateDeleteStringin classAbstractCollectionPersister
-
generateInsertRowString
protected String generateInsertRowString()
Generate the SQL INSERT that creates a new row- Specified by:
generateInsertRowStringin classAbstractCollectionPersister
-
generateUpdateRowString
protected String generateUpdateRowString()
Generate the SQL UPDATE that updates a row- Specified by:
generateUpdateRowStringin classAbstractCollectionPersister
-
doProcessQueuedOps
protected void doProcessQueuedOps(PersistentCollection<?> collection, Object id, SharedSessionContractImplementor session)
- Specified by:
doProcessQueuedOpsin classAbstractCollectionPersister
-
generateDeleteRowString
protected String 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 contain 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(Object id, PersistentCollection<?> collection, SharedSessionContractImplementor session) throws HibernateException
- Specified by:
doUpdateRowsin classAbstractCollectionPersister- Throws:
HibernateException
-
getFilterAliasGenerator
public FilterAliasGenerator getFilterAliasGenerator(String rootAlias)
- Specified by:
getFilterAliasGeneratorin classAbstractCollectionPersister
-
getFilterAliasGenerator
public FilterAliasGenerator getFilterAliasGenerator(TableGroup tableGroup)
- Specified by:
getFilterAliasGeneratorin classAbstractCollectionPersister
-
-