public class

BulkOperationCleanupAction

extends Object
implements Serializable Executable
java.lang.Object
   ↳ org.hibernate.action.BulkOperationCleanupAction

Class Overview

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.

Summary

Public Constructors
BulkOperationCleanupAction(SessionImplementor session, Queryable[] affectedQueryables)
Constructs an action to cleanup "affected cache regions" based on the affected entity persisters.
BulkOperationCleanupAction(SessionImplementor session, Set tableSpaces)
Constructs an action to cleanup "affected cache regions" based on a set of affected table spaces.
Public Methods
void beforeExecutions()
Called before executing any actions.
void execute()
Execute this action
AfterTransactionCompletionProcess getAfterTransactionCompletionProcess()
Get the after-transaction-completion process, if any, for this action.
BeforeTransactionCompletionProcess getBeforeTransactionCompletionProcess()
Get the before-transaction-completion process, if any, for this action.
Serializable[] getPropertySpaces()
What spaces (tables) are affected by this action?
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.hibernate.action.Executable

Public Constructors

public BulkOperationCleanupAction (SessionImplementor session, Queryable[] affectedQueryables)

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.

public BulkOperationCleanupAction (SessionImplementor session, Set tableSpaces)

Constructs an action to cleanup "affected cache regions" based on a set of affected table spaces. This differs from BulkOperationCleanupAction(SessionImplementor, Queryable[]) in that here we have the affected table names. From those we deduce the entity persisters which are affected based on the defined table 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.

Public Methods

public void beforeExecutions ()

Called before executing any actions. Gives actions a chance to perform any preparation.

public void execute ()

Execute this action

public AfterTransactionCompletionProcess getAfterTransactionCompletionProcess ()

Get the after-transaction-completion process, if any, for this action.

Returns
  • The after-transaction-completion process, or null if we have no after-transaction-completion process

public BeforeTransactionCompletionProcess getBeforeTransactionCompletionProcess ()

Get the before-transaction-completion process, if any, for this action.

Returns
  • The before-transaction-completion process, or null if we have no before-transaction-completion process

public Serializable[] getPropertySpaces ()

What spaces (tables) are affected by this action?

Returns
  • The spaces affected by this action.