Package org.hibernate.persister.collection.mutation
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
between
BasicCollectionPersister
andOneToManyPersister
.
-
Interface Summary Interface Description CollectionMutationTarget CollectionOperationCoordinator Base contract for coordination of collection mutation operationsDeleteRowsCoordinator Coordinates the deletion of entries removed from the collection - For collections with a collection-table, deletes rows from the collection table.InsertRowsCoordinator Coordinates the logical insertion of collection entries which are not yet persistent.InsertRowsCoordinator.EntryFilter A tri-predicate for including / excluding collection entries from iterative processing insideInsertRowsCoordinator.insertRows(org.hibernate.collection.spi.PersistentCollection<?>, java.lang.Object, org.hibernate.persister.collection.mutation.InsertRowsCoordinator.EntryFilter, org.hibernate.engine.spi.SharedSessionContractImplementor)
.OperationProducer Callback for producing aJdbcMutationOperation
given a collection-table referenceRemoveCoordinator Removes 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 tableRowMutationOperations.Restrictions RowMutationOperations.Values UpdateRowsCoordinator