public abstract class

CascadingAction

extends Object
java.lang.Object
   ↳ org.hibernate.engine.CascadingAction

Class Overview

A session action that may be cascaded from parent entity to its children

Summary

Fields
public static final CascadingAction DELETE
public static final CascadingAction EVICT
public static final CascadingAction LOCK
public static final CascadingAction MERGE
public static final CascadingAction PERSIST
public static final CascadingAction PERSIST_ON_FLUSH Execute persist during flush time
public static final CascadingAction REFRESH
public static final CascadingAction REPLICATE
public static final CascadingAction SAVE_UPDATE
public static final CascadingAction SAVE_UPDATE_COPY
Public Methods
abstract void cascade(EventSource session, Object child, String entityName, Object anything, boolean isCascadeDeleteEnabled)
Cascade the action to the child object.
abstract boolean deleteOrphans()
Does this action potentially extrapolate to orphan deletes?
abstract Iterator getCascadableChildrenIterator(EventSource session, CollectionType collectionType, Object collection)
Given a collection, get an iterator of the children upon which the current cascading action should be visited.
static Iterator getLoadedElementsIterator(SessionImplementor session, CollectionType collectionType, Object collection)
Iterate just the elements of the collection that are already there.
void noCascade(EventSource session, Object child, Object parent, EntityPersister persister, int propertyIndex)
Called (in the case of requiresNoCascadeChecking() returning true) to validate that no cascade on the given property is considered a valid semantic.
boolean performOnLazyProperty()
Should this action be performed (or noCascade consulted) in the case of lazy properties.
boolean requiresNoCascadeChecking()
Does the specified cascading action require verification of no cascade validity?
[Expand]
Inherited Methods
From class java.lang.Object

Fields

public static final CascadingAction DELETE

See Also

public static final CascadingAction EVICT

See Also

public static final CascadingAction LOCK

public static final CascadingAction MERGE

See Also

public static final CascadingAction PERSIST

See Also

public static final CascadingAction PERSIST_ON_FLUSH

Execute persist during flush time

See Also

public static final CascadingAction REFRESH

See Also

public static final CascadingAction REPLICATE

public static final CascadingAction SAVE_UPDATE

public static final CascadingAction SAVE_UPDATE_COPY

Public Methods

public abstract void cascade (EventSource session, Object child, String entityName, Object anything, boolean isCascadeDeleteEnabled)

Cascade the action to the child object.

Parameters
session The session within which the cascade is occuring.
child The child to which cascading should be performed.
entityName The child's entity name
anything Anything ;) Typically some form of cascade-local cache which is specific to each CascadingAction type
isCascadeDeleteEnabled Are cascading deletes enabled.

public abstract boolean deleteOrphans ()

Does this action potentially extrapolate to orphan deletes?

Returns
  • True if this action can lead to deletions of orphans.

public abstract Iterator getCascadableChildrenIterator (EventSource session, CollectionType collectionType, Object collection)

Given a collection, get an iterator of the children upon which the current cascading action should be visited.

Parameters
session The session within which the cascade is occuring.
collectionType The mapping type of the collection.
collection The collection instance.
Returns
  • The children iterator.

public static Iterator getLoadedElementsIterator (SessionImplementor session, CollectionType collectionType, Object collection)

Iterate just the elements of the collection that are already there. Don't load any new elements from the database.

public void noCascade (EventSource session, Object child, Object parent, EntityPersister persister, int propertyIndex)

Called (in the case of requiresNoCascadeChecking() returning true) to validate that no cascade on the given property is considered a valid semantic.

Parameters
session The session witin which the cascade is occurring.
child The property value
parent The property value owner
persister The entity persister for the owner
propertyIndex The index of the property within the owner.

public boolean performOnLazyProperty ()

Should this action be performed (or noCascade consulted) in the case of lazy properties.

public boolean requiresNoCascadeChecking ()

Does the specified cascading action require verification of no cascade validity?

Returns
  • True if this action requires no-cascade verification; false otherwise.