org.eclipse.persistence.descriptors
Class AllFieldsLockingPolicy
java.lang.Object
org.eclipse.persistence.descriptors.FieldsLockingPolicy
org.eclipse.persistence.descriptors.AllFieldsLockingPolicy
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy
public class AllFieldsLockingPolicy
- extends FieldsLockingPolicy
Purpose: An implementation of the OptimisticLockingPolicy interface.
This policy compares every field in the table in the WHERE clause
when doing an update or a delete. If any field has been changed, an
optimistic locking exception will be thrown.
NOTE: This policy can only be used inside a unit of work.
- Since:
- TopLink 2.1
- Author:
- Peter Krogh
- See Also:
- Serialized Form
Nested classes/interfaces inherited from interface org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy |
org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy.LockOnChange |
Methods inherited from class org.eclipse.persistence.descriptors.FieldsLockingPolicy |
addLockFieldsToUpdateRow, buildDeleteExpression, buildUpdateExpression, clone, compareWriteLockValues, getBaseValue, getLockOnChangeMode, getValueToPutInCache, getVersionDifference, getWriteLockField, getWriteLockUpdateExpression, getWriteLockValue, initialize, initializeProperties, isCascaded, isNewerVersion, isNewerVersion, isStoredInCache, mergeIntoParentCache, setDescriptor, setLockOnChangeMode, setupWriteFieldsForInsert, shouldUpdateVersionOnMappingChange, shouldUpdateVersionOnOwnedMappingChange, supportsWriteLockValuesComparison, updateRowAndObjectForUpdate, validateDelete, validateUpdate |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AllFieldsLockingPolicy
public AllFieldsLockingPolicy()
- PUBLIC:
Create a new all fields locking policy.
A field locking policy is based on locking on all fields by comparing with their previous values to detect field-level collisions.
Note: the unit of work must be used for all updates when using field locking.
addLockValuesToTranslationRow
public void addLockValuesToTranslationRow(ObjectLevelModifyQuery query)
- INTERNAL:
Values to be included in the locking mechanism are added
to the translation row. Set the translation row to all the original field values.
- Specified by:
addLockValuesToTranslationRow
in interface org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy
- Specified by:
addLockValuesToTranslationRow
in class FieldsLockingPolicy