Package org.hibernate.event.internal
Class DefaultFlushEntityEventListener
- java.lang.Object
-
- org.hibernate.event.internal.DefaultFlushEntityEventListener
-
- All Implemented Interfaces:
FlushEntityEventListener
,CallbackRegistryConsumer
public class DefaultFlushEntityEventListener extends Object implements FlushEntityEventListener, CallbackRegistryConsumer
An event that occurs for each entity instance at flush time
-
-
Constructor Summary
Constructors Constructor Description DefaultFlushEntityEventListener()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
checkId(Object object, EntityPersister persister, Object id, SessionImplementor session)
make sure user didn't mangle the idprotected void
dirtyCheck(FlushEntityEvent event)
Perform a dirty check, and attach the results to the eventprotected boolean
handleInterception(FlushEntityEvent event)
void
injectCallbackRegistry(CallbackRegistry callbackRegistry)
Injection of the CallbackRegistryprotected boolean
invokeInterceptor(FlushEntityEvent event)
protected boolean
isUpdateNecessary(FlushEntityEvent event)
Performs all necessary checking to determine if an entity needs an SQL update to synchronize its state to the database.void
onFlushEntity(FlushEntityEvent event)
Flushes a single entity's state to the database, by scheduling an update action, if necessary
-
-
-
Method Detail
-
injectCallbackRegistry
public void injectCallbackRegistry(CallbackRegistry callbackRegistry)
Description copied from interface:CallbackRegistryConsumer
Injection of the CallbackRegistry- Specified by:
injectCallbackRegistry
in interfaceCallbackRegistryConsumer
- Parameters:
callbackRegistry
- The CallbackRegistry
-
checkId
public void checkId(Object object, EntityPersister persister, Object id, SessionImplementor session) throws HibernateException
make sure user didn't mangle the id- Throws:
HibernateException
-
onFlushEntity
public void onFlushEntity(FlushEntityEvent event) throws HibernateException
Flushes a single entity's state to the database, by scheduling an update action, if necessary- Specified by:
onFlushEntity
in interfaceFlushEntityEventListener
- Throws:
HibernateException
-
handleInterception
protected boolean handleInterception(FlushEntityEvent event)
-
invokeInterceptor
protected boolean invokeInterceptor(FlushEntityEvent event)
-
isUpdateNecessary
protected final boolean isUpdateNecessary(FlushEntityEvent event) throws HibernateException
Performs all necessary checking to determine if an entity needs an SQL update to synchronize its state to the database. Modifies the event by side effect! Note: this method is quite slow, avoid calling if possible!- Throws:
HibernateException
-
dirtyCheck
protected void dirtyCheck(FlushEntityEvent event) throws HibernateException
Perform a dirty check, and attach the results to the event- Throws:
HibernateException
-
-