Defines support for performing mutation operations against collections.
- API Note:
- The names used here are logical. E.g. "inserting a row" may actually
execute an UPDATE statement instead of an INSERT. This is generally
delineated based on whether there is a collection table involved or
not. In terms of our usual model, this breaks down to the distinction
Interface Summary Interface Description CollectionMutationTarget CollectionOperationCoordinatorBase contract for coordination of collection mutation operations DeleteRowsCoordinatorCoordinates the deletion of entries removed from the collection - For collections with a collection-table, deletes rows from the collection table. InsertRowsCoordinatorCoordinates the logical insertion of collection entries which are not yet persistent. InsertRowsCoordinator.EntryFilterA tri-predicate for including / excluding collection entries from iterative processing inside
InsertRowsCoordinator.insertRows(org.hibernate.collection.spi.PersistentCollection<?>, java.lang.Object, org.hibernate.persister.collection.mutation.InsertRowsCoordinator.EntryFilter, org.hibernate.engine.spi.SharedSessionContractImplementor).
OperationProducerCallback for producing a
JdbcMutationOperationgiven a collection-table reference
RemoveCoordinatorRemoves the collection: For collections with a collection-table, this will execute a DELETE based on the collection-key For one-to-many collections, this executes an UPDATE to unset the collection-key on the association table RowMutationOperations.Restrictions RowMutationOperations.Values UpdateRowsCoordinator