org.hibernate.event.def

Class AbstractFlushingEventListener

Implemented Interfaces:
Serializable
Known Direct Subclasses:
DefaultAutoFlushEventListener, DefaultDirtyCheckEventListener, DefaultFlushEventListener

public abstract class AbstractFlushingEventListener
extends java.lang.Object
implements Serializable

A convenience base class for listeners whose functionality results in flushing.
Author:
Steve Eberole

Method Summary

protected void
flushEverythingToExecutions(FlushEvent event)
Coordinates the processing necessary to get things ready for executions as db calls by preping the session caches and moving the appropriate entities and collections to their respective execution queues.
protected Object
getAnything()
protected CascadingAction
getCascadingAction()
protected void
performExecutions(EventSource session)
Execute all SQL and second-level cache updates, in a special order so that foreign-key constraints cannot be violated:
  1. Inserts, in the order they were performed
  2. Updates
  3. Deletion of collection elements
  4. Insertion of collection elements
  5. Deletes, in the order they were performed
protected void
postFlush(SessionImplementor session)
1.

Method Details

flushEverythingToExecutions

protected void flushEverythingToExecutions(FlushEvent event)
            throws HibernateException
Coordinates the processing necessary to get things ready for executions as db calls by preping the session caches and moving the appropriate entities and collections to their respective execution queues.
Parameters:
event - The flush event.
Throws:
HibernateException - Error flushing caches to execution queues.

getAnything

protected Object getAnything()

getCascadingAction

protected CascadingAction getCascadingAction()

performExecutions

protected void performExecutions(EventSource session)
            throws HibernateException
Execute all SQL and second-level cache updates, in a special order so that foreign-key constraints cannot be violated:
  1. Inserts, in the order they were performed
  2. Updates
  3. Deletion of collection elements
  4. Insertion of collection elements
  5. Deletes, in the order they were performed

postFlush

protected void postFlush(SessionImplementor session)
            throws HibernateException
1. Recreate the collection key -> collection map 2. rebuild the collection entries 3. call Interceptor.postFlush()