org.hibernate.engine

Class Cascade


public final class Cascade
extends java.lang.Object

Delegate responsible for, in conjunction with the various actions, implementing cascade processing.
Author:
Gavin King
See Also:
CascadingAction

Field Summary

static int
AFTER_EVICT
A cascade point that occurs just after eviction of the parent entity from the session cache
static int
AFTER_INSERT_BEFORE_DELETE
A cascade point that occurs just after the insertion of the parent entity and just before deletion
static int
AFTER_INSERT_BEFORE_DELETE_VIA_COLLECTION
A cascade point that occurs just after the insertion of the parent entity and just before deletion, inside a collection
static int
AFTER_LOCK
A cascade point that occurs just after refreshing a parent entity
static int
AFTER_UPDATE
A cascade point that occurs just after update of the parent entity
static int
BEFORE_FLUSH
A cascade point that occurs just before the session is flushed
static int
BEFORE_INSERT_AFTER_DELETE
A cascade point that occurs just before the insertion of the parent entity and just after deletion
static int
BEFORE_MERGE
A cascade point that occurs just before merging from a transient parent entity into the object in the session cache
static int
BEFORE_REFRESH
A cascade point that occurs just after locking a transient parent entity into the session cache

Constructor Summary

Cascade(CascadingAction action, int cascadeTo, EventSource eventSource)

Method Summary

void
cascade(EntityPersister persister, Object parent)
Cascade an action from the parent entity instance to all its children.
void
cascade(EntityPersister persister, Object parent, Object anything)
Cascade an action from the parent entity instance to all its children.

Field Details

AFTER_EVICT

public static final int AFTER_EVICT
A cascade point that occurs just after eviction of the parent entity from the session cache
Field Value:
0

AFTER_INSERT_BEFORE_DELETE

public static final int AFTER_INSERT_BEFORE_DELETE
A cascade point that occurs just after the insertion of the parent entity and just before deletion
Field Value:
1

AFTER_INSERT_BEFORE_DELETE_VIA_COLLECTION

public static final int AFTER_INSERT_BEFORE_DELETE_VIA_COLLECTION
A cascade point that occurs just after the insertion of the parent entity and just before deletion, inside a collection
Field Value:
3

AFTER_LOCK

public static final int AFTER_LOCK
A cascade point that occurs just after refreshing a parent entity
Field Value:
0

AFTER_UPDATE

public static final int AFTER_UPDATE
A cascade point that occurs just after update of the parent entity
Field Value:
0

BEFORE_FLUSH

public static final int BEFORE_FLUSH
A cascade point that occurs just before the session is flushed
Field Value:
0

BEFORE_INSERT_AFTER_DELETE

public static final int BEFORE_INSERT_AFTER_DELETE
A cascade point that occurs just before the insertion of the parent entity and just after deletion
Field Value:
2

BEFORE_MERGE

public static final int BEFORE_MERGE
A cascade point that occurs just before merging from a transient parent entity into the object in the session cache
Field Value:
0

BEFORE_REFRESH

public static final int BEFORE_REFRESH
A cascade point that occurs just after locking a transient parent entity into the session cache
Field Value:
0

Constructor Details

Cascade

public Cascade(CascadingAction action,
               int cascadeTo,
               EventSource eventSource)

Method Details

cascade

public void cascade(EntityPersister persister,
                    Object parent)
            throws HibernateException
Cascade an action from the parent entity instance to all its children.
Parameters:
persister - The parent's entity persister
parent - The parent reference.

cascade

public void cascade(EntityPersister persister,
                    Object parent,
                    Object anything)
            throws HibernateException
Cascade an action from the parent entity instance to all its children. This form is typicaly called from within cascade actions.
Parameters:
persister - The parent's entity persister
parent - The parent reference.
anything - Anything ;) Typically some form of cascade-local cache which is specific to each CascadingAction type