public class JoinTableCollectionPersister extends org.hibernate.persister.collection.BasicCollectionPersister
The persister of a collection of entities in a join table that deletes the row of one removed element by the owner's key and the element's foreign key.
Hibernate deletes a row of a set or a bag by the key and only the element columns that are not nullable. GORM leaves the element column of a join table nullable, and it has to where several collections share the table with a column each, so removing one element would delete every row of the owner's collection. A row of a collection of entities always has its element, so this persister restricts the delete by the element columns, nullable or not. GormPersisterClassResolver gives it to sets and bags of entities; lists and maps delete a row by their index.
| Constructor and description |
|---|
JoinTableCollectionPersister(org.hibernate.mapping.Collection collectionBinding, org.hibernate.cache.spi.access.CollectionDataAccess cacheAccessStrategy, org.hibernate.metamodel.spi.RuntimeModelCreationContext creationContext)Creates the persister, with the signature Hibernate calls a collection persister class with. |
| Type Params | Return Type | Name and description |
|---|---|---|
|
protected org.hibernate.persister.collection.mutation.RowMutationOperations |
buildRowMutationOperations() |
| Methods inherited from class | Name |
|---|---|
class org.hibernate.persister.collection.BasicCollectionPersister |
org.hibernate.persister.collection.BasicCollectionPersister#consumesCollectionAlias(), org.hibernate.persister.collection.BasicCollectionPersister#consumesEntityAlias(), org.hibernate.persister.collection.BasicCollectionPersister#deleteRows(org.hibernate.collection.spi.PersistentCollection, java.io.Serializable, org.hibernate.engine.spi.SharedSessionContractImplementor), org.hibernate.persister.collection.BasicCollectionPersister#elementExists(java.io.Serializable, java.lang.Object, org.hibernate.engine.spi.SharedSessionContractImplementor), org.hibernate.persister.collection.BasicCollectionPersister#equals(java.lang.Object), org.hibernate.persister.collection.BasicCollectionPersister#filterFragment(java.lang.String, java.util.Map), org.hibernate.persister.collection.BasicCollectionPersister#filterFragment(java.lang.String, java.util.Map, java.util.Set), org.hibernate.persister.collection.BasicCollectionPersister#fromJoinFragment(java.lang.String, boolean, boolean), org.hibernate.persister.collection.BasicCollectionPersister#fromJoinFragment(java.lang.String, boolean, boolean, java.util.Set), org.hibernate.persister.collection.BasicCollectionPersister#fromJoinFragment(java.lang.String, boolean, boolean, java.util.Set, java.util.Set), org.hibernate.persister.collection.BasicCollectionPersister#getBatchSize(), org.hibernate.persister.collection.BasicCollectionPersister#getCacheAccessStrategy(), org.hibernate.persister.collection.BasicCollectionPersister#getCacheEntryStructure(), org.hibernate.persister.collection.BasicCollectionPersister#getClass(), org.hibernate.persister.collection.BasicCollectionPersister#getCollectionMetadata(), org.hibernate.persister.collection.BasicCollectionPersister#getCollectionPersister(), org.hibernate.persister.collection.BasicCollectionPersister#getCollectionPropertyColumnAliases(java.lang.String, java.lang.String), org.hibernate.persister.collection.BasicCollectionPersister#getCollectionSpaces(), org.hibernate.persister.collection.BasicCollectionPersister#getCollectionType(), org.hibernate.persister.collection.BasicCollectionPersister#getElementByIndex(java.io.Serializable, java.lang.Object, org.hibernate.engine.spi.SharedSessionContractImplementor, java.lang.Object), org.hibernate.persister.collection.BasicCollectionPersister#getElementClass(), org.hibernate.persister.collection.BasicCollectionPersister#getElementColumnAliases(java.lang.String), org.hibernate.persister.collection.BasicCollectionPersister#getElementColumnNames(), org.hibernate.persister.collection.BasicCollectionPersister#getElementColumnNames(java.lang.String), org.hibernate.persister.collection.BasicCollectionPersister#getElementDefinition(), org.hibernate.persister.collection.BasicCollectionPersister#getElementPersister(), org.hibernate.persister.collection.BasicCollectionPersister#getElementType(), org.hibernate.persister.collection.BasicCollectionPersister#getFactory(), org.hibernate.persister.collection.BasicCollectionPersister#getFetchMode(), org.hibernate.persister.collection.BasicCollectionPersister#getFilterAliasGenerator(java.lang.String), org.hibernate.persister.collection.BasicCollectionPersister#getIdentifierColumnAlias(java.lang.String), org.hibernate.persister.collection.BasicCollectionPersister#getIdentifierColumnName(), org.hibernate.persister.collection.BasicCollectionPersister#getIdentifierGenerator(), org.hibernate.persister.collection.BasicCollectionPersister#getIdentifierType(), org.hibernate.persister.collection.BasicCollectionPersister#getIndexColumnAliases(java.lang.String), org.hibernate.persister.collection.BasicCollectionPersister#getIndexColumnNames(), org.hibernate.persister.collection.BasicCollectionPersister#getIndexColumnNames(java.lang.String), org.hibernate.persister.collection.BasicCollectionPersister#getIndexDefinition(), org.hibernate.persister.collection.BasicCollectionPersister#getIndexFormulas(), org.hibernate.persister.collection.BasicCollectionPersister#getIndexType(), org.hibernate.persister.collection.BasicCollectionPersister#getInitializer(), org.hibernate.persister.collection.BasicCollectionPersister#getKeyColumnAliases(java.lang.String), org.hibernate.persister.collection.BasicCollectionPersister#getKeyColumnNames(), org.hibernate.persister.collection.BasicCollectionPersister#getKeyType(), org.hibernate.persister.collection.BasicCollectionPersister#getManyToManyFilterFragment(java.lang.String, java.util.Map), org.hibernate.persister.collection.BasicCollectionPersister#getManyToManyOrderByString(java.lang.String), org.hibernate.persister.collection.BasicCollectionPersister#getMappedByProperty(), org.hibernate.persister.collection.BasicCollectionPersister#getName(), org.hibernate.persister.collection.BasicCollectionPersister#getNavigableRole(), org.hibernate.persister.collection.BasicCollectionPersister#getOwnerEntityName(), org.hibernate.persister.collection.BasicCollectionPersister#getOwnerEntityPersister(), org.hibernate.persister.collection.BasicCollectionPersister#getRole(), org.hibernate.persister.collection.BasicCollectionPersister#getSQLOrderByString(java.lang.String), org.hibernate.persister.collection.BasicCollectionPersister#getSize(java.io.Serializable, org.hibernate.engine.spi.SharedSessionContractImplementor), org.hibernate.persister.collection.BasicCollectionPersister#getTableName(), org.hibernate.persister.collection.BasicCollectionPersister#getType(), org.hibernate.persister.collection.BasicCollectionPersister#hasCache(), org.hibernate.persister.collection.BasicCollectionPersister#hasIndex(), org.hibernate.persister.collection.BasicCollectionPersister#hasManyToManyOrdering(), org.hibernate.persister.collection.BasicCollectionPersister#hasOrdering(), org.hibernate.persister.collection.BasicCollectionPersister#hasOrphanDelete(), org.hibernate.persister.collection.BasicCollectionPersister#hasWhere(), org.hibernate.persister.collection.BasicCollectionPersister#hashCode(), org.hibernate.persister.collection.BasicCollectionPersister#indexExists(java.io.Serializable, java.lang.Object, org.hibernate.engine.spi.SharedSessionContractImplementor), org.hibernate.persister.collection.BasicCollectionPersister#initCollectionPropertyMap(), org.hibernate.persister.collection.BasicCollectionPersister#initialize(java.io.Serializable, org.hibernate.engine.spi.SharedSessionContractImplementor), org.hibernate.persister.collection.BasicCollectionPersister#insertRows(org.hibernate.collection.spi.PersistentCollection, java.io.Serializable, org.hibernate.engine.spi.SharedSessionContractImplementor), org.hibernate.persister.collection.BasicCollectionPersister#isAffectedByEnabledFilters(org.hibernate.engine.spi.SharedSessionContractImplementor), org.hibernate.persister.collection.BasicCollectionPersister#isArray(), org.hibernate.persister.collection.BasicCollectionPersister#isCascadeDeleteEnabled(), org.hibernate.persister.collection.BasicCollectionPersister#isCollection(), org.hibernate.persister.collection.BasicCollectionPersister#isExtraLazy(), org.hibernate.persister.collection.BasicCollectionPersister#isInverse(), org.hibernate.persister.collection.BasicCollectionPersister#isLazy(), org.hibernate.persister.collection.BasicCollectionPersister#isManyToMany(), org.hibernate.persister.collection.BasicCollectionPersister#isMutable(), org.hibernate.persister.collection.BasicCollectionPersister#isOneToMany(), org.hibernate.persister.collection.BasicCollectionPersister#isPrimitiveArray(), org.hibernate.persister.collection.BasicCollectionPersister#isSubselectLoadable(), org.hibernate.persister.collection.BasicCollectionPersister#isVersioned(), org.hibernate.persister.collection.BasicCollectionPersister#notify(), org.hibernate.persister.collection.BasicCollectionPersister#notifyAll(), org.hibernate.persister.collection.BasicCollectionPersister#oneToManyFilterFragment(java.lang.String), org.hibernate.persister.collection.BasicCollectionPersister#oneToManyFilterFragment(java.lang.String, java.util.Set), org.hibernate.persister.collection.BasicCollectionPersister#postInstantiate(), org.hibernate.persister.collection.BasicCollectionPersister#processQueuedOps(org.hibernate.collection.spi.PersistentCollection, java.io.Serializable, org.hibernate.engine.spi.SharedSessionContractImplementor), org.hibernate.persister.collection.BasicCollectionPersister#readElement(java.sql.ResultSet, java.lang.Object, [Ljava.lang.String;, org.hibernate.engine.spi.SharedSessionContractImplementor), org.hibernate.persister.collection.BasicCollectionPersister#readIdentifier(java.sql.ResultSet, java.lang.String, org.hibernate.engine.spi.SharedSessionContractImplementor), org.hibernate.persister.collection.BasicCollectionPersister#readIndex(java.sql.ResultSet, [Ljava.lang.String;, org.hibernate.engine.spi.SharedSessionContractImplementor), org.hibernate.persister.collection.BasicCollectionPersister#readKey(java.sql.ResultSet, [Ljava.lang.String;, org.hibernate.engine.spi.SharedSessionContractImplementor), org.hibernate.persister.collection.BasicCollectionPersister#recreate(org.hibernate.collection.spi.PersistentCollection, java.io.Serializable, org.hibernate.engine.spi.SharedSessionContractImplementor), org.hibernate.persister.collection.BasicCollectionPersister#remove(java.io.Serializable, org.hibernate.engine.spi.SharedSessionContractImplementor), org.hibernate.persister.collection.BasicCollectionPersister#selectFragment(java.lang.String, java.lang.String), org.hibernate.persister.collection.BasicCollectionPersister#selectFragment(org.hibernate.persister.entity.Joinable, java.lang.String, java.lang.String, java.lang.String, java.lang.String, boolean), org.hibernate.persister.collection.BasicCollectionPersister#toColumns(java.lang.String), org.hibernate.persister.collection.BasicCollectionPersister#toColumns(java.lang.String, java.lang.String), org.hibernate.persister.collection.BasicCollectionPersister#toString(), org.hibernate.persister.collection.BasicCollectionPersister#toType(java.lang.String), org.hibernate.persister.collection.BasicCollectionPersister#updateRows(org.hibernate.collection.spi.PersistentCollection, java.io.Serializable, org.hibernate.engine.spi.SharedSessionContractImplementor), org.hibernate.persister.collection.BasicCollectionPersister#wait(), org.hibernate.persister.collection.BasicCollectionPersister#wait(long), org.hibernate.persister.collection.BasicCollectionPersister#wait(long, int), org.hibernate.persister.collection.BasicCollectionPersister#whereJoinFragment(java.lang.String, boolean, boolean), org.hibernate.persister.collection.BasicCollectionPersister#whereJoinFragment(java.lang.String, boolean, boolean, java.util.Set), org.hibernate.persister.collection.BasicCollectionPersister#writeIdentifier(java.sql.PreparedStatement, java.lang.Object, int, org.hibernate.engine.spi.SharedSessionContractImplementor) |
Creates the persister, with the signature Hibernate calls a collection persister class with.