Top Description Fields Constructors Methods
org.hibernate.action.internal

public Class EntityUpdateAction

extends EntityAction
Class Inheritance
Imports
org.hibernate.AssertionFailure, .CacheMode, .HibernateException, org.hibernate.cache.CacheException, org.hibernate.cache.spi.access.EntityDataAccess, .SoftLock, org.hibernate.cache.spi.entry.CacheEntry, org.hibernate.engine.spi.CachedNaturalIdValueSource, .EntityEntry, .SessionEventListenerManager, .SessionFactoryImplementor, .SharedSessionContractImplementor, .Status, org.hibernate.event.spi.EventManager, .HibernateMonitoringEvent, .EventSource, .PostCommitUpdateEventListener, .PostUpdateEvent, .PostUpdateEventListener, .PreUpdateEvent, .PreUpdateEventListener, org.hibernate.event.service.spi.EventListenerGroup, org.hibernate.metamodel.mapping.NaturalIdMapping, org.hibernate.persister.entity.EntityPersister, org.hibernate.stat.internal.StatsHelper, org.hibernate.stat.spi.StatisticsImplementor, org.hibernate.tuple.entity.EntityMetamodel, org.hibernate.type.TypeHelper

The action for performing entity updates.

Field Summary

Modifier and TypeField and Description
private Object
private final int[]
private final boolean
private SoftLock
private final NaturalIdMapping
private Object
private final Object
private final Object[]
private final Object
private final Object
private final Object[]

Constructor Summary

AccessConstructor and Description
public
EntityUpdateAction(final Object
The entity identifier
id
,
final Object[]
The current (extracted) entity state
state
,
final int[]
The indexes (in reference to state) properties with dirty state
dirtyProperties
,
final boolean
Were any collections dirty?
hasDirtyCollection
,
final Object[]
The previous (stored) state
previousState
,
final Object
The previous (stored) version
previousVersion
,
final Object
The incremented version
nextVersion
,
final Object
The entity instance
instance
,
final Object
The entity's row id
rowId
,
final EntityPersister
The entity's persister
persister
,
final EventSource
The session
session
)

Constructs an EntityUpdateAction

Method Summary

Modifier and TypeMethod and Description
protected void
private boolean
private static Object
public void
doAfterTransactionCompletion(boolean
Did the transaction complete successfully? True means it did.
success
,
SharedSessionContractImplementor
The session on which the transaction is completing.
session
)

Implements org.hibernate.action.spi.AfterTransactionCompletionProcess.doAfterTransactionCompletion.

Perform whatever processing is encapsulated here after completion of the transaction.
public void
execute()

Implements org.hibernate.action.spi.Executable.execute.

Execute this action.
protected int[]
protected NaturalIdMapping
protected Object
protected Object
protected Object[]
protected Object
public Object
protected Object[]
protected void
private void
protected void
protected boolean
protected boolean
private static boolean
protected Object
lockCacheItem(Object previousVersion)

private PostUpdateEvent
private void
protected void
postCommitUpdate(boolean success)

protected void
protected boolean
protected void
setCacheEntry(Object cacheEntry)

protected void
protected boolean
updateCache(EntityPersister persister, Object previousVersion, Object ck)

private void
protected void
updateCacheItem(Object previousVersion, Object ck, EntityEntry entry)

Inherited from org.hibernate.action.internal.EntityAction:
afterDeserializebeforeExecutionscompareToeventSourcegetAfterTransactionCompletionProcessgetBeforeTransactionCompletionProcessgetDelayedIdgetEntityNamegetFastSessionServicesgetIdgetInstancegetPersistergetPrimarySortClassifiergetPropertySpacesgetSecondarySortIndexgetSessionisVetoneedsAfterTransactionCompletionsetVetotoString

Field Detail

cacheEntryback to summary
private Object cacheEntry
dirtyFieldsback to summary
private final int[] dirtyFields
hasDirtyCollectionback to summary
private final boolean hasDirtyCollection
lockback to summary
private SoftLock lock
naturalIdMappingback to summary
private final NaturalIdMapping naturalIdMapping
nextVersionback to summary
private Object nextVersion
previousNaturalIdValuesback to summary
private final Object previousNaturalIdValues
previousStateback to summary
private final Object[] previousState
previousVersionback to summary
private final Object previousVersion
rowIdback to summary
private final Object rowId
stateback to summary
private final Object[] state

Constructor Detail

EntityUpdateActionback to summary
public EntityUpdateAction(final Object id, final Object[] state, final int[] dirtyProperties, final boolean hasDirtyCollection, final Object[] previousState, final Object previousVersion, final Object nextVersion, final Object instance, final Object rowId, final EntityPersister persister, final EventSource session)

Constructs an EntityUpdateAction

Parameters
id:Object

The entity identifier

state:Object[]

The current (extracted) entity state

dirtyProperties:int[]

The indexes (in reference to state) properties with dirty state

hasDirtyCollection:boolean

Were any collections dirty?

previousState:Object[]

The previous (stored) state

previousVersion:Object

The previous (stored) version

nextVersion:Object

The incremented version

instance:Object

The entity instance

rowId:Object

The entity's row id

persister:EntityPersister

The entity's persister

session:EventSource

The session

Method Detail

cacheAfterUpdateback to summary
protected void cacheAfterUpdate(EntityDataAccess cache, Object ck, SharedSessionContractImplementor session)
cacheUpdateRequiredback to summary
private boolean cacheUpdateRequired(boolean success, EntityPersister persister, SharedSessionContractImplementor session)
determinePreviousNaturalIdValuesback to summary
private static Object determinePreviousNaturalIdValues(EntityPersister persister, NaturalIdMapping naturalIdMapping, Object id, Object[] previousState, SharedSessionContractImplementor session)
doAfterTransactionCompletionback to summary
public void doAfterTransactionCompletion(boolean success, SharedSessionContractImplementor session) throws CacheException

Implements org.hibernate.action.spi.AfterTransactionCompletionProcess.doAfterTransactionCompletion.

Doc from org.hibernate.action.spi.AfterTransactionCompletionProcess.doAfterTransactionCompletion.

Perform whatever processing is encapsulated here after completion of the transaction.

Parameters
success:boolean

Did the transaction complete successfully? True means it did.

session:SharedSessionContractImplementor

The session on which the transaction is completing.

Annotations
@Override
executeback to summary
public void execute() throws HibernateException

Implements org.hibernate.action.spi.Executable.execute.

Doc from org.hibernate.action.spi.Executable.execute.

Execute this action.

Annotations
@Override
Exceptions
HibernateException:
Indicates a problem during execution.
getDirtyFieldsback to summary
protected int[] getDirtyFields()
getNaturalIdMappingback to summary
protected NaturalIdMapping getNaturalIdMapping()
getNextVersionback to summary
protected Object getNextVersion()
getPreviousNaturalIdValuesback to summary
protected Object getPreviousNaturalIdValues()
getPreviousStateback to summary
protected Object[] getPreviousState()
getPreviousVersionback to summary
protected Object getPreviousVersion()
getRowIdback to summary
public Object getRowId()
getStateback to summary
protected Object[] getState()
handleDeletedback to summary
protected void handleDeleted(EntityEntry entry)
handleGeneratedPropertiesback to summary
private void handleGeneratedProperties(EntityEntry entry)
handleNaturalIdResolutionsback to summary
protected void handleNaturalIdResolutions(EntityPersister persister, SharedSessionContractImplementor session, Object id)
hasDirtyCollectionback to summary
protected boolean hasDirtyCollection()
hasPostCommitEventListenersback to summary
protected boolean hasPostCommitEventListeners()

Implements abstract org.hibernate.action.internal.EntityAction.hasPostCommitEventListeners.

Annotations
@Override
isCacheInvalidationRequiredback to summary
private static boolean isCacheInvalidationRequired(EntityPersister persister, SharedSessionContractImplementor session)
lockCacheItemback to summary
protected Object lockCacheItem(Object previousVersion)
newPostUpdateEventback to summary
private PostUpdateEvent newPostUpdateEvent()
onPostCommitFailureback to summary
private void onPostCommitFailure(PostUpdateEventListener listener, PostUpdateEvent event)
postCommitUpdateback to summary
protected void postCommitUpdate(boolean success)
postUpdateback to summary
protected void postUpdate()
preUpdateback to summary
protected boolean preUpdate()
setCacheEntryback to summary
protected void setCacheEntry(Object cacheEntry)
setLockback to summary
protected void setLock(SoftLock lock)
updateCacheback to summary
protected boolean updateCache(EntityPersister persister, Object previousVersion, Object ck)
updateCacheIfNecessaryback to summary
private void updateCacheIfNecessary(boolean success, SharedSessionContractImplementor session)
updateCacheItemback to summary
protected void updateCacheItem(Object previousVersion, Object ck, EntityEntry entry)