Package org.hibernate.event.internal
Class AbstractFlushingEventListener
- java.lang.Object
-
- org.hibernate.event.internal.AbstractFlushingEventListener
-
- All Implemented Interfaces:
JpaBootstrapSensitive
- Direct Known Subclasses:
DefaultAutoFlushEventListener,DefaultDirtyCheckEventListener,DefaultFlushEventListener
public abstract class AbstractFlushingEventListener extends Object implements JpaBootstrapSensitive
A convenience base class for listeners whose functionality results in flushing.
-
-
Constructor Summary
Constructors Constructor Description AbstractFlushingEventListener()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidflushEverythingToExecutions(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 CascadingAction<PersistContext>getCascadingAction()protected PersistContextgetContext()protected voidlogFlushResults(FlushEvent event)protected voidperformExecutions(EventSource session)Execute all SQL (and second-level cache updates) in a special order so that foreign-key constraints cannot be violated: Inserts, in the order they were performed Updates Deletion of collection elements Insertion of collection elements Deletes, in the order they were performedprotected voidpostFlush(SessionImplementor session)1.protected voidpostPostFlush(SessionImplementor session)voidwasJpaBootstrap(boolean wasJpaBootstrap)
-
-
-
Method Detail
-
wasJpaBootstrap
public void wasJpaBootstrap(boolean wasJpaBootstrap)
- Specified by:
wasJpaBootstrapin interfaceJpaBootstrapSensitive
-
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.
-
logFlushResults
protected void logFlushResults(FlushEvent event)
-
getContext
protected PersistContext getContext()
-
getCascadingAction
protected CascadingAction<PersistContext> getCascadingAction()
-
performExecutions
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:- Inserts, in the order they were performed
- Updates
- Deletion of collection elements
- Insertion of collection elements
- Deletes, in the order they were performed
- Parameters:
session- The session being flushed
-
postFlush
protected void postFlush(SessionImplementor session) throws HibernateException
1. Recreate the collection key -> collection map 2. rebuild the collection entries 3. call Interceptor.postFlush()- Throws:
HibernateException
-
postPostFlush
protected void postPostFlush(SessionImplementor session)
-
-