Package org.hibernate.action
Class BulkOperationCleanupAction
java.lang.Object
org.hibernate.action.BulkOperationCleanupAction
- All Implemented Interfaces:
Serializable,Executable
An
ActionQueue Executable for ensuring
shared cache cleanup in relation to performed bulk HQL queries.
NOTE: currently this executes for INSERT queries as well as
UPDATE and DELETE queries. For INSERT it is
really not needed as we'd have no invalid entity/collection data to
cleanup (we'd still nee to invalidate the appropriate update-timestamps
regions) as a result of this query.- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionBulkOperationCleanupAction(SessionImplementor session, Set tableSpaces) Constructs an action to cleanup "affected cache regions" based on a set of affected table spaces.BulkOperationCleanupAction(SessionImplementor session, Queryable[] affectedQueryables) Constructs an action to cleanup "affected cache regions" based on the affected entity persisters. -
Method Summary
Modifier and TypeMethodDescriptionvoidCalled before executing any actions.voidexecute()Execute this actionGet the after-transaction-completion process, if any, for this action.Get the before-transaction-completion process, if any, for this action.What spaces (tables) are affected by this action?
-
Constructor Details
-
BulkOperationCleanupAction
Constructs an action to cleanup "affected cache regions" based on the affected entity persisters. The affected regions are defined as the region (if any) of the entity persisters themselves, plus the collection regions for any collection in which those entity persisters participate as elements/keys/etc.- Parameters:
session- The session to which this request is tied.affectedQueryables- The affected entity persisters.
-
BulkOperationCleanupAction
Constructs an action to cleanup "affected cache regions" based on a set of affected table spaces. This differs fromBulkOperationCleanupAction(SessionImplementor, Queryable[])in that here we have the affected table names. From those we deduce the entity persisters which are affected based on the definedtable spaces; and from there, we determine the affected collection regions based on any collections in which those entity persisters participate as elements/keys/etc.- Parameters:
session- The session to which this request is tied.tableSpaces- The table spaces.
-
-
Method Details
-
getPropertySpaces
Description copied from interface:ExecutableWhat spaces (tables) are affected by this action?- Specified by:
getPropertySpacesin interfaceExecutable- Returns:
- The spaces affected by this action.
-
getBeforeTransactionCompletionProcess
Description copied from interface:ExecutableGet the before-transaction-completion process, if any, for this action.- Specified by:
getBeforeTransactionCompletionProcessin interfaceExecutable- Returns:
- The before-transaction-completion process, or null if we have no before-transaction-completion process
-
getAfterTransactionCompletionProcess
Description copied from interface:ExecutableGet the after-transaction-completion process, if any, for this action.- Specified by:
getAfterTransactionCompletionProcessin interfaceExecutable- Returns:
- The after-transaction-completion process, or null if we have no after-transaction-completion process
-
beforeExecutions
Description copied from interface:ExecutableCalled before executing any actions. Gives actions a chance to perform any preparation.- Specified by:
beforeExecutionsin interfaceExecutable- Throws:
HibernateException- Indicates a problem during preparation.
-
execute
Description copied from interface:ExecutableExecute this action- Specified by:
executein interfaceExecutable- Throws:
HibernateException- Indicates a problem during execution.
-