public interface CustomEntityDirtinessStrategy
Session
.
Dirty entities are the ones that get UPDATEed to the database.
In some circumstances, that process of determining whether an entity is dirty can take a significant time as
by default Hibernate must check each of the entity's attribute values one-by-one. Oftentimes applications
already have knowledge of an entity's dirtiness and using that information instead would be more performant.
The purpose of this contract then is to allow applications such a plug-in point.Modifier and Type | Interface and Description |
---|---|
static interface |
CustomEntityDirtinessStrategy.AttributeChecker
Responsible for identifying when attributes are dirty.
|
static interface |
CustomEntityDirtinessStrategy.AttributeInformation
Provides
CustomEntityDirtinessStrategy.AttributeChecker with meta information about the attributes being checked. |
static interface |
CustomEntityDirtinessStrategy.DirtyCheckContext
A callback to drive dirty checking.
|
Modifier and Type | Method and Description |
---|---|
boolean |
canDirtyCheck(Object entity,
EntityPersister persister,
Session session)
Is this strategy capable of telling whether the given entity is dirty? A return of
true means that
isDirty(java.lang.Object, org.hibernate.persister.entity.EntityPersister, org.hibernate.Session) will be called next as the definitive means to determine whether the entity is dirty. |
void |
findDirty(Object entity,
EntityPersister persister,
Session session,
CustomEntityDirtinessStrategy.DirtyCheckContext dirtyCheckContext)
Callback used to hook into Hibernate algorithm for determination of which attributes have changed.
|
boolean |
isDirty(Object entity,
EntityPersister persister,
Session session)
The callback used by Hibernate to determine if the given entity is dirty.
|
void |
resetDirty(Object entity,
EntityPersister persister,
Session session)
Callback used by Hibernate to signal that the entity dirty flag should be cleared.
|
boolean canDirtyCheck(Object entity, EntityPersister persister, Session session)
true
means that
isDirty(java.lang.Object, org.hibernate.persister.entity.EntityPersister, org.hibernate.Session)
will be called next as the definitive means to determine whether the entity is dirty.entity
- The entity to be check.persister
- The persister corresponding to the given entitysession
- The session from which this check originates.true
indicates the dirty check can be done; false
indicates it cannot.boolean isDirty(Object entity, EntityPersister persister, Session session)
canDirtyCheck(java.lang.Object, org.hibernate.persister.entity.EntityPersister, org.hibernate.Session)
returned true
entity
- The entity to check.persister
- The persister corresponding to the given entitysession
- The session from which this check originates.true
indicates the entity is dirty; false
indicates the entity is not dirty.void resetDirty(Object entity, EntityPersister persister, Session session)
entity
- The entity to resetpersister
- The persister corresponding to the given entitysession
- The session from which this call originates.void findDirty(Object entity, EntityPersister persister, Session session, CustomEntityDirtinessStrategy.DirtyCheckContext dirtyCheckContext)
CustomEntityDirtinessStrategy.DirtyCheckContext.doDirtyChecking(org.hibernate.CustomEntityDirtinessStrategy.AttributeChecker)
method passing along an appropriate CustomEntityDirtinessStrategy.AttributeChecker
implementation.entity
- The entity being checkedpersister
- The persister corresponding to the given entitysession
- The session from which this call originates.dirtyCheckContext
- The callback contextCopyright © 2017 JBoss by Red Hat. All rights reserved.