Package org.hibernate.event.internal
Class AbstractFlushingEventListener
java.lang.Object
org.hibernate.event.internal.AbstractFlushingEventListener
- Direct Known Subclasses:
DefaultAutoFlushEventListener
,DefaultDirtyCheckEventListener
,DefaultFlushEventListener
A convenience base class for listeners whose functionality results in flushing.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
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 void
flushEverythingToExecutions
(FlushEvent event, PersistenceContext persistenceContext, EventSource session) protected CascadingAction<PersistContext>
getCascadingAction
(EventSource session) protected PersistContext
getContext
(EventSource session) protected void
logFlushResults
(FlushEvent event) 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 performedprotected void
postFlush
(SessionImplementor session) 1.protected void
postPostFlush
(SessionImplementor session) protected void
preFlush
(EventSource session, PersistenceContext persistenceContext)
-
Constructor Details
-
AbstractFlushingEventListener
public AbstractFlushingEventListener()
-
-
Method Details
-
flushEverythingToExecutions
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.
-
flushEverythingToExecutions
protected void flushEverythingToExecutions(FlushEvent event, PersistenceContext persistenceContext, EventSource session) -
preFlush
-
logFlushResults
-
getContext
-
getCascadingAction
-
performExecutions
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
1. Recreate the collection key -> collection map 2. rebuild the collection entries 3. call Interceptor.postFlush()- Throws:
HibernateException
-
postPostFlush
-