Top Description Fields Constructors Methods
org.eclipse.persistence.descriptors

public Class AllFieldsLockingPolicy

extends FieldsLockingPolicy
Class Inheritance
Imports
java.util.*, org.eclipse.persistence.internal.helper.*, org.eclipse.persistence.internal.sessions.AbstractRecord, org.eclipse.persistence.queries.*

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.

Author
Peter Krogh
Since
TopLink 2.1

Field Summary

Inherited from org.eclipse.persistence.descriptors.FieldsLockingPolicy:
allNonPrimaryKeyFieldsdescriptor

Constructor Summary

AccessConstructor and Description
public
AllFieldsLockingPolicy()

PUBLIC: Create a new all fields locking policy.

Method Summary

Modifier and TypeMethod and Description
public void
protected List<DatabaseField>
getFieldsToCompare(DatabaseTable table, AbstractRecord transRow, AbstractRecord modifyRow)

Implements abstract org.eclipse.persistence.descriptors.FieldsLockingPolicy.getFieldsToCompare.

INTERNAL: Returns the fields that should be compared in the where clause.
Inherited from org.eclipse.persistence.descriptors.FieldsLockingPolicy:
addLockFieldsToUpdateRowbuildAllNonPrimaryKeyFieldsbuildDeleteExpressionbuildExpressionbuildUpdateExpressionclonecompareWriteLockValuesgetAllNonPrimaryKeyFieldsgetAllNonPrimaryKeyFieldsgetBaseValuegetLockOnChangeModegetValueToPutInCachegetVersionDifferencegetWriteLockFieldgetWriteLockUpdateExpressiongetWriteLockValueinitializeinitializePropertiesisCascadedisNewerVersionisNewerVersionisPrimaryKeyisStoredInCachemergeIntoParentCachemergeIntoParentCachesetAllNonPrimaryKeyFieldssetDescriptorsetLockOnChangeModesetupWriteFieldsForInsertshouldUpdateVersionOnMappingChangeshouldUpdateVersionOnOwnedMappingChangesupportsWriteLockValuesComparisonupdateRowAndObjectForUpdatevalidateDeletevalidateUpdateverifyUsage

Constructor Detail

AllFieldsLockingPolicyback to summary
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.

Method Detail

addLockValuesToTranslationRowback to summary
public void addLockValuesToTranslationRow(ObjectLevelModifyQuery query)

Implements abstract org.eclipse.persistence.descriptors.FieldsLockingPolicy.addLockValuesToTranslationRow.

Implements org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy.addLockValuesToTranslationRow.

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.

Annotations
@Override
getFieldsToCompareback to summary
protected List<DatabaseField> getFieldsToCompare(DatabaseTable table, AbstractRecord transRow, AbstractRecord modifyRow)

Implements abstract org.eclipse.persistence.descriptors.FieldsLockingPolicy.getFieldsToCompare.

INTERNAL: Returns the fields that should be compared in the where clause. In this case, it is all the fields, except for the primary key and class indicator.

Annotations
@Override