blob: 490b78221b51db114815e6653566ab2577e22139 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_222) on Tue Dec 08 12:28:21 UTC 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ChangedFieldsLockingPolicy (EclipseLink 3.0.0, API Reference)</title>
<meta name="date" content="2020-12-08">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ChangedFieldsLockingPolicy (EclipseLink 3.0.0, API Reference)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">EclipseLink 3.0.0, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/eclipse/persistence/descriptors/CachePolicy.html" title="class in org.eclipse.persistence.descriptors"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/descriptors/ChangedFieldsLockingPolicy.html" target="_top">Frames</a></li>
<li><a href="ChangedFieldsLockingPolicy.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.eclipse.persistence.descriptors.FieldsLockingPolicy">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.eclipse.persistence.descriptors</div>
<h2 title="Class ChangedFieldsLockingPolicy" class="title">Class ChangedFieldsLockingPolicy</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html" title="class in org.eclipse.persistence.descriptors">org.eclipse.persistence.descriptors.FieldsLockingPolicy</a></li>
<li>
<ul class="inheritance">
<li>org.eclipse.persistence.descriptors.ChangedFieldsLockingPolicy</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a>, org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy</dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">ChangedFieldsLockingPolicy</span>
extends <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html" title="class in org.eclipse.persistence.descriptors">FieldsLockingPolicy</a></pre>
<div class="block"><p><b>Purpose</b>: An implementation of the OptimisticLockingPolicy interface.
This policy compares only the changed fields in the WHERE clause
when doing an update. If any field has been changed, an optimistic
locking exception will be thrown. A delete will only compare
the primary key. <p>
NOTE: This policy can only be used inside a unit of work.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../serialized-form.html#org.eclipse.persistence.descriptors.ChangedFieldsLockingPolicy">Serialized Form</a></dd>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Peter Krogh</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>TopLink 2.1</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy</h3>
<code>org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy.LockOnChange</code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.eclipse.persistence.descriptors.FieldsLockingPolicy">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.persistence.descriptors.<a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html" title="class in org.eclipse.persistence.descriptors">FieldsLockingPolicy</a></h3>
<code><a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#allNonPrimaryKeyFields">allNonPrimaryKeyFields</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#descriptor">descriptor</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/ChangedFieldsLockingPolicy.html#ChangedFieldsLockingPolicy--">ChangedFieldsLockingPolicy</a></span>()</code>
<div class="block">PUBLIC:
Create a new changed fields locking policy.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/ChangedFieldsLockingPolicy.html#addLockValuesToTranslationRow-org.eclipse.persistence.queries.ObjectLevelModifyQuery-">addLockValuesToTranslationRow</a></span>(<a href="../../../../org/eclipse/persistence/queries/ObjectLevelModifyQuery.html" title="class in org.eclipse.persistence.queries">ObjectLevelModifyQuery</a>&nbsp;query)</code>
<div class="block">INTERNAL:
Values to be included in the locking mechanism are added to the translation row.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/ChangedFieldsLockingPolicy.html#buildDeleteExpression-org.eclipse.persistence.internal.helper.DatabaseTable-org.eclipse.persistence.expressions.Expression-org.eclipse.persistence.internal.sessions.AbstractRecord-">buildDeleteExpression</a></span>(org.eclipse.persistence.internal.helper.DatabaseTable&nbsp;table,
<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&nbsp;mainExpression,
org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;row)</code>
<div class="block">INTERNAL:
When given an expression, this method will return a new expression with the optimistic
locking values included.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.eclipse.persistence.internal.helper.DatabaseField&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/ChangedFieldsLockingPolicy.html#getFieldsToCompare-org.eclipse.persistence.internal.helper.DatabaseTable-org.eclipse.persistence.internal.sessions.AbstractRecord-org.eclipse.persistence.internal.sessions.AbstractRecord-">getFieldsToCompare</a></span>(org.eclipse.persistence.internal.helper.DatabaseTable&nbsp;table,
org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;transRow,
org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;modifyRow)</code>
<div class="block">INTERNAL:
Returns the fields that should be compared in the where clause.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.persistence.descriptors.FieldsLockingPolicy">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.persistence.descriptors.<a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html" title="class in org.eclipse.persistence.descriptors">FieldsLockingPolicy</a></h3>
<code><a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#addLockFieldsToUpdateRow-org.eclipse.persistence.internal.sessions.AbstractRecord-org.eclipse.persistence.internal.sessions.AbstractSession-">addLockFieldsToUpdateRow</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#buildAllNonPrimaryKeyFields--">buildAllNonPrimaryKeyFields</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#buildExpression-org.eclipse.persistence.internal.helper.DatabaseTable-org.eclipse.persistence.internal.sessions.AbstractRecord-org.eclipse.persistence.internal.sessions.AbstractRecord-org.eclipse.persistence.expressions.ExpressionBuilder-">buildExpression</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#buildUpdateExpression-org.eclipse.persistence.internal.helper.DatabaseTable-org.eclipse.persistence.expressions.Expression-org.eclipse.persistence.internal.sessions.AbstractRecord-org.eclipse.persistence.internal.sessions.AbstractRecord-">buildUpdateExpression</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#clone--">clone</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#compareWriteLockValues-java.lang.Object-java.lang.Object-">compareWriteLockValues</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#getAllNonPrimaryKeyFields--">getAllNonPrimaryKeyFields</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#getAllNonPrimaryKeyFields-org.eclipse.persistence.internal.helper.DatabaseTable-">getAllNonPrimaryKeyFields</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#getBaseValue--">getBaseValue</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#getLockOnChangeMode--">getLockOnChangeMode</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#getValueToPutInCache-org.eclipse.persistence.internal.sessions.AbstractRecord-org.eclipse.persistence.internal.sessions.AbstractSession-">getValueToPutInCache</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#getVersionDifference-java.lang.Object-java.lang.Object-java.lang.Object-org.eclipse.persistence.internal.sessions.AbstractSession-">getVersionDifference</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#getWriteLockField--">getWriteLockField</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#getWriteLockUpdateExpression-org.eclipse.persistence.expressions.ExpressionBuilder-org.eclipse.persistence.internal.sessions.AbstractSession-">getWriteLockUpdateExpression</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#getWriteLockValue-java.lang.Object-java.lang.Object-org.eclipse.persistence.internal.sessions.AbstractSession-">getWriteLockValue</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#initialize-org.eclipse.persistence.internal.sessions.AbstractSession-">initialize</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#initializeProperties--">initializeProperties</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#isCascaded--">isCascaded</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#isNewerVersion-org.eclipse.persistence.internal.sessions.AbstractRecord-java.lang.Object-java.lang.Object-org.eclipse.persistence.internal.sessions.AbstractSession-">isNewerVersion</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#isNewerVersion-java.lang.Object-java.lang.Object-java.lang.Object-org.eclipse.persistence.internal.sessions.AbstractSession-">isNewerVersion</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#isPrimaryKey-org.eclipse.persistence.internal.helper.DatabaseField-">isPrimaryKey</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#isStoredInCache--">isStoredInCache</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#mergeIntoParentCache-org.eclipse.persistence.internal.identitymaps.CacheKey-org.eclipse.persistence.internal.identitymaps.CacheKey-">mergeIntoParentCache</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#mergeIntoParentCache-org.eclipse.persistence.internal.sessions.UnitOfWorkImpl-java.lang.Object-java.lang.Object-">mergeIntoParentCache</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#setAllNonPrimaryKeyFields-java.util.List-">setAllNonPrimaryKeyFields</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#setDescriptor-org.eclipse.persistence.descriptors.ClassDescriptor-">setDescriptor</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#setLockOnChangeMode-org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy.LockOnChange-">setLockOnChangeMode</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#setupWriteFieldsForInsert-org.eclipse.persistence.queries.ObjectLevelModifyQuery-">setupWriteFieldsForInsert</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#shouldUpdateVersionOnMappingChange--">shouldUpdateVersionOnMappingChange</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#shouldUpdateVersionOnOwnedMappingChange--">shouldUpdateVersionOnOwnedMappingChange</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#supportsWriteLockValuesComparison--">supportsWriteLockValuesComparison</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#updateRowAndObjectForUpdate-org.eclipse.persistence.queries.ObjectLevelModifyQuery-java.lang.Object-">updateRowAndObjectForUpdate</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#validateDelete-int-java.lang.Object-org.eclipse.persistence.queries.DeleteObjectQuery-">validateDelete</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#validateUpdate-int-java.lang.Object-org.eclipse.persistence.queries.WriteObjectQuery-">validateUpdate</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#verifyUsage-org.eclipse.persistence.internal.sessions.AbstractSession-">verifyUsage</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="ChangedFieldsLockingPolicy--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ChangedFieldsLockingPolicy</h4>
<pre>public&nbsp;ChangedFieldsLockingPolicy()</pre>
<div class="block">PUBLIC:
Create a new changed fields locking policy.
This locking policy is based on locking on all changed 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. Without
a unit of work, there is no way for to know what the original values were
without the back up clone in the unit of work.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="addLockValuesToTranslationRow-org.eclipse.persistence.queries.ObjectLevelModifyQuery-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addLockValuesToTranslationRow</h4>
<pre>public&nbsp;void&nbsp;addLockValuesToTranslationRow(<a href="../../../../org/eclipse/persistence/queries/ObjectLevelModifyQuery.html" title="class in org.eclipse.persistence.queries">ObjectLevelModifyQuery</a>&nbsp;query)</pre>
<div class="block">INTERNAL:
Values to be included in the locking mechanism are added to the translation row.
For changed fields the normal build row is ok as only changed fields matter.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>addLockValuesToTranslationRow</code>&nbsp;in interface&nbsp;<code>org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#addLockValuesToTranslationRow-org.eclipse.persistence.queries.ObjectLevelModifyQuery-">addLockValuesToTranslationRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html" title="class in org.eclipse.persistence.descriptors">FieldsLockingPolicy</a></code></dd>
</dl>
</li>
</ul>
<a name="buildDeleteExpression-org.eclipse.persistence.internal.helper.DatabaseTable-org.eclipse.persistence.expressions.Expression-org.eclipse.persistence.internal.sessions.AbstractRecord-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildDeleteExpression</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&nbsp;buildDeleteExpression(org.eclipse.persistence.internal.helper.DatabaseTable&nbsp;table,
<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&nbsp;mainExpression,
org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;row)</pre>
<div class="block">INTERNAL:
When given an expression, this method will return a new expression with the optimistic
locking values included. The values are taken from the passed in database row.
This expression will be used in a delete call.
No new criteria will be added for changed fields.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>buildDeleteExpression</code>&nbsp;in interface&nbsp;<code>org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#buildDeleteExpression-org.eclipse.persistence.internal.helper.DatabaseTable-org.eclipse.persistence.expressions.Expression-org.eclipse.persistence.internal.sessions.AbstractRecord-">buildDeleteExpression</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html" title="class in org.eclipse.persistence.descriptors">FieldsLockingPolicy</a></code></dd>
</dl>
</li>
</ul>
<a name="getFieldsToCompare-org.eclipse.persistence.internal.helper.DatabaseTable-org.eclipse.persistence.internal.sessions.AbstractRecord-org.eclipse.persistence.internal.sessions.AbstractRecord-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getFieldsToCompare</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.eclipse.persistence.internal.helper.DatabaseField&gt;&nbsp;getFieldsToCompare(org.eclipse.persistence.internal.helper.DatabaseTable&nbsp;table,
org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;transRow,
org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;modifyRow)</pre>
<div class="block">INTERNAL:
Returns the fields that should be compared in the where clause.
In this case, it is only the fields that were changed.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#getFieldsToCompare-org.eclipse.persistence.internal.helper.DatabaseTable-org.eclipse.persistence.internal.sessions.AbstractRecord-org.eclipse.persistence.internal.sessions.AbstractRecord-">getFieldsToCompare</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html" title="class in org.eclipse.persistence.descriptors">FieldsLockingPolicy</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">EclipseLink 3.0.0, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/eclipse/persistence/descriptors/CachePolicy.html" title="class in org.eclipse.persistence.descriptors"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/descriptors/ChangedFieldsLockingPolicy.html" target="_top">Frames</a></li>
<li><a href="ChangedFieldsLockingPolicy.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.eclipse.persistence.descriptors.FieldsLockingPolicy">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2020 <a href="http://www.eclipse.org/eclipselink">Eclipse.org - EclipseLink Project</a>. All rights reserved.</small></p>
</body>
</html>