<!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_252) on Fri Jul 16 09:38:47 UTC 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DescriptorQueryManager (EclipseLink 3.0.2, API Reference)</title>
<meta name="date" content="2021-07-16">
<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="DescriptorQueryManager (EclipseLink 3.0.2, API Reference)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":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.2, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/eclipse/persistence/descriptors/DescriptorEventManager.html" title="class in org.eclipse.persistence.descriptors"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/descriptors/FetchGroupManager.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/DescriptorQueryManager.html" target="_top">Frames</a></li>
<li><a href="DescriptorQueryManager.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="#field.summary">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><a href="#field.detail">Field</a>&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 DescriptorQueryManager" class="title">Class DescriptorQueryManager</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>org.eclipse.persistence.descriptors.DescriptorQueryManager</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></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">DescriptorQueryManager</span>
extends <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>
implements <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>, <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></pre>
<div class="block"><p><b>Purpose</b>: The query manager allows for the database operations that EclipseLink
 performs to be customized by the application.  For each descriptor a query can be
 given that controls how a operation will occur.  A common example is if the application
 requires a stored procedure to be used to insert the object, it can override the SQL call
 in the insert query that EclipseLink will use to insert the object.
 Queries can be customized to extend EclipseLink behavior, access non-relational data or use stored
 procedures or customized SQL calls.
 <p>
 The queries that can be customized include:
 <ul>
 <li> insertQuery - used to insert the object
 <li> updateQuery - used to update the object
 <li> readObjectQuery - used to read a single object by primary key
 <li> readAllQuery - used to read all of the objects of the class
 <li> doesExistQuery - used to determine whether an insert or update should occur
 <li> deleteQuery - used to delete the object
 </ul></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors"><code>ClassDescriptor</code></a>, 
<a href="../../../../serialized-form.html#org.eclipse.persistence.descriptors.DescriptorQueryManager">Serialized Form</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#additionalCriteria">additionalCriteria</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <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/DescriptorQueryManager.html#additionalJoinExpression">additionalJoinExpression</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.eclipse.persistence.internal.helper.ConcurrentFixedCache</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#cachedExpressionQueries">cachedExpressionQueries</a></span></code>
<div class="block">PERF: Expression query call cache for avoiding regenerated dynamic query SQL.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected org.eclipse.persistence.internal.helper.ConcurrentFixedCache</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#cachedUpdateCalls">cachedUpdateCalls</a></span></code>
<div class="block">PERF: Update call cache for avoiding regenerated update SQL.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#DefaultTimeout">DefaultTimeout</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#DefaultTimeoutUnit">DefaultTimeoutUnit</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../org/eclipse/persistence/queries/DeleteObjectQuery.html" title="class in org.eclipse.persistence.queries">DeleteObjectQuery</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#deleteQuery">deleteQuery</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#descriptor">descriptor</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../org/eclipse/persistence/queries/DoesExistQuery.html" title="class in org.eclipse.persistence.queries">DoesExistQuery</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#doesExistQuery">doesExistQuery</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#hasCustomMultipleTableJoinExpression">hasCustomMultipleTableJoinExpression</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../org/eclipse/persistence/queries/InsertObjectQuery.html" title="class in org.eclipse.persistence.queries">InsertObjectQuery</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#insertQuery">insertQuery</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <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/DescriptorQueryManager.html#multipleTableJoinExpression">multipleTableJoinExpression</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#NoTimeout">NoTimeout</a></span></code>
<div class="block">queryTimeout has three possible settings: DefaultTimeout, NoTimeout, and 1..N
 This applies to both DatabaseQuery.queryTimeout and DescriptorQueryManager.queryTimeout

 DatabaseQuery.queryTimeout:
 - DefaultTimeout: get queryTimeout from DescriptorQueryManager
 - NoTimeout, 1..N: overrides queryTimeout in DescriptorQueryManager

 DescriptorQueryManager.queryTimeout:
 - DefaultTimeout: get queryTimeout from parent DescriptorQueryManager.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<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;<a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#queries">queries</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#queryTimeout">queryTimeout</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#queryTimeoutUnit">queryTimeoutUnit</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../org/eclipse/persistence/queries/ReadAllQuery.html" title="class in org.eclipse.persistence.queries">ReadAllQuery</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#readAllQuery">readAllQuery</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/eclipse/persistence/queries/ReadObjectQuery.html" title="class in org.eclipse.persistence.queries">ReadObjectQuery</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#readObjectQuery">readObjectQuery</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.eclipse.persistence.internal.helper.DatabaseTable,<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#tablesJoinExpressions">tablesJoinExpressions</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/eclipse/persistence/queries/UpdateObjectQuery.html" title="class in org.eclipse.persistence.queries">UpdateObjectQuery</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#updateQuery">updateQuery</a></span></code>&nbsp;</td>
</tr>
</table>
</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/DescriptorQueryManager.html#DescriptorQueryManager--">DescriptorQueryManager</a></span>()</code>
<div class="block">INTERNAL:
 Initialize the state of the descriptor query manager</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/DescriptorQueryManager.html#addQuery-org.eclipse.persistence.queries.DatabaseQuery-">addQuery</a></span>(<a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&nbsp;query)</code>
<div class="block">PUBLIC:
 Add the query to the session queries</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#addQuery-java.lang.String-org.eclipse.persistence.queries.DatabaseQuery-">addQuery</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
        <a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&nbsp;query)</code>
<div class="block">PUBLIC:
 Add the query to the descriptor queries with the given name</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#assumeExistenceForDoesExist--">assumeExistenceForDoesExist</a></span>()</code>
<div class="block">PUBLIC:
 Assume that if the objects primary key does not include null then it must exist.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#assumeNonExistenceForDoesExist--">assumeNonExistenceForDoesExist</a></span>()</code>
<div class="block">PUBLIC:
 Assume that the object does not exist.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#checkCacheForDoesExist--">checkCacheForDoesExist</a></span>()</code>
<div class="block">PUBLIC:
 Default behavior.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#checkDatabaseForDoesExist--">checkDatabaseForDoesExist</a></span>()</code>
<div class="block">PUBLIC:
 Perform does exist check on the database</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><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></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#clone--">clone</a></span>()</code>
<div class="block">INTERNAL:
 Clone the query manager</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#containsQuery-java.lang.String-">containsQuery</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;queryName)</code>
<div class="block">PUBLIC:
 Return true if the query is defined on the session</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#convertClassNamesToClasses-java.lang.ClassLoader-">convertClassNamesToClasses</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;classLoader)</code>
<div class="block">INTERNAL:
 Convert all the class-name-based settings in this Query Manager to actual class-based
 settings
 This method is implemented by subclasses as necessary.</div>
</td>
</tr>
<tr id="i9" 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/DescriptorQueryManager.html#getAdditionalJoinExpression--">getAdditionalJoinExpression</a></span>()</code>
<div class="block">ADVANCED:
 Returns the join expression that should be appended to all of the descriptors expressions
 Contains any multiple table or inheritance dependencies</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getAllQueries--">getAllQueries</a></span>()</code>
<div class="block">PUBLIC:
 Return the pre-defined queries for the descriptor.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getCachedExpressionQuery-org.eclipse.persistence.queries.DatabaseQuery-">getCachedExpressionQuery</a></span>(<a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&nbsp;query)</code>
<div class="block">INTERNAL:
 Return the cached SQL call for the expression query.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getCachedUpdateCalls-java.util.Vector-">getCachedUpdateCalls</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;updateFields)</code>
<div class="block">INTERNAL:
 Return the cached update SQL call based on the updated fields.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getDeleteCall--">getDeleteCall</a></span>()</code>
<div class="block">ADVANCED:
 Return the receiver's delete call.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/queries/DeleteObjectQuery.html" title="class in org.eclipse.persistence.queries">DeleteObjectQuery</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getDeleteQuery--">getDeleteQuery</a></span>()</code>
<div class="block">ADVANCED:
 Return the receiver's delete query.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getDeleteSQLString--">getDeleteSQLString</a></span>()</code>
<div class="block">ADVANCED:
 Return the receiver's delete SQL string.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getDescriptor--">getDescriptor</a></span>()</code>
<div class="block">INTERNAL:
 Return the descriptor associated with this descriptor query manager</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getDoesExistCall--">getDoesExistCall</a></span>()</code>
<div class="block">ADVANCED:
 Return the receiver's does-exist call.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/queries/DoesExistQuery.html" title="class in org.eclipse.persistence.queries">DoesExistQuery</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getDoesExistQuery--">getDoesExistQuery</a></span>()</code>
<div class="block">ADVANCED:
 Return the receiver's  does exist query.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getDoesExistSQLString--">getDoesExistSQLString</a></span>()</code>
<div class="block">ADVANCED:
 Return the receiver's does exist SQL string.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getExistenceCheck--">getExistenceCheck</a></span>()</code>
<div class="block">INTERNAL:
 This method is explicitly used by the Builder only.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getExpressionQueryCacheMaxSize--">getExpressionQueryCacheMaxSize</a></span>()</code>
<div class="block">ADVANCED:
 Return the max size of the expression query cache for avoiding regenerated dynamic query SQL.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getInsertCall--">getInsertCall</a></span>()</code>
<div class="block">ADVANCED:
 Return the receiver's insert call.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/queries/InsertObjectQuery.html" title="class in org.eclipse.persistence.queries">InsertObjectQuery</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getInsertQuery--">getInsertQuery</a></span>()</code>
<div class="block">ADVANCED:
 Return the receiver's insert query.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getInsertSQLString--">getInsertSQLString</a></span>()</code>
<div class="block">ADVANCED:
 Return the receiver's insert SQL string.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getLocalQuery-java.lang.String-java.util.Vector-">getLocalQuery</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
             <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;arguments)</code>
<div class="block">INTENAL:
 Return the query from the set of pre-defined queries with the given name and argument types.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getLocalQueryByArgumentTypes-java.lang.String-java.util.List-">getLocalQueryByArgumentTypes</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                            <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>&nbsp;argumentTypes)</code>
<div class="block">INTERNAL:
 Return the query from the set of pre-defined queries with the given name and argument types.</div>
</td>
</tr>
<tr id="i27" 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/DescriptorQueryManager.html#getMultipleTableJoinExpression--">getMultipleTableJoinExpression</a></span>()</code>
<div class="block">ADVANCED:
 This is normally generated for descriptors that have multiple tables.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html" title="class in org.eclipse.persistence.descriptors">DescriptorQueryManager</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getParentDescriptorQueryManager--">getParentDescriptorQueryManager</a></span>()</code>
<div class="block">INTERNAL:
 Get the parent DescriptorQueryManager.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<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;<a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getQueries--">getQueries</a></span>()</code>
<div class="block">PUBLIC:
 Return the pre-defined queries for the descriptor.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getQuery-java.lang.String-">getQuery</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;queryName)</code>
<div class="block">PUBLIC:
 Return the query name from the set of pre-defined queries
 If only one query exists with this name, it will be returned.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getQuery-java.lang.String-java.util.Vector-">getQuery</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;arguments)</code>
<div class="block">PUBLIC:
 Return the query from the set of pre-defined queries with the given name and argument types.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>protected <a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getQueryFromParent-java.lang.String-java.util.Vector-">getQueryFromParent</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                  <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;arguments)</code>
<div class="block">INTERNAL:
 CR#3711: Check if the class for this descriptor has a parent class.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getQueryTimeout--">getQueryTimeout</a></span>()</code>
<div class="block">PUBLIC:
 Return the number of seconds queries will wait for their Statement to execute.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getQueryTimeoutUnit--">getQueryTimeoutUnit</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getReadAllCall--">getReadAllCall</a></span>()</code>
<div class="block">ADVANCED:
 Return the receiver's read-all call.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/queries/ReadAllQuery.html" title="class in org.eclipse.persistence.queries">ReadAllQuery</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getReadAllQuery--">getReadAllQuery</a></span>()</code>
<div class="block">ADVANCED:
 Return the receiver's read query.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getReadAllSQLString--">getReadAllSQLString</a></span>()</code>
<div class="block">ADVANCED:
 Return the receiver's read SQL string.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getReadObjectCall--">getReadObjectCall</a></span>()</code>
<div class="block">ADVANCED:
 Return the receiver's read-object call.</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/queries/ReadObjectQuery.html" title="class in org.eclipse.persistence.queries">ReadObjectQuery</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getReadObjectQuery--">getReadObjectQuery</a></span>()</code>
<div class="block">ADVANCED:
 Return the receiver's read query.</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getReadObjectSQLString--">getReadObjectSQLString</a></span>()</code>
<div class="block">ADVANCED:
 Return the receiver's read SQL string.</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.eclipse.persistence.internal.helper.DatabaseTable,<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getTablesJoinExpressions--">getTablesJoinExpressions</a></span>()</code>
<div class="block">INTERNAL:
 Used in case descriptor has additional tables:
 each additional table mapped to an expression joining it.</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getUpdateCall--">getUpdateCall</a></span>()</code>
<div class="block">ADVANCED:
 Return the receiver's update call.</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getUpdateCallCacheSize--">getUpdateCallCacheSize</a></span>()</code>
<div class="block">ADVANCED:
 Return the size of the update call cache.</div>
</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/queries/UpdateObjectQuery.html" title="class in org.eclipse.persistence.queries">UpdateObjectQuery</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getUpdateQuery--">getUpdateQuery</a></span>()</code>
<div class="block">ADVANCED:
 Return the receiver's update query.</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getUpdateSQLString--">getUpdateSQLString</a></span>()</code>
<div class="block">ADVANCED:
 Return the receiver's update SQL string.</div>
</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#hasAdditionalCriteria--">hasAdditionalCriteria</a></span>()</code>
<div class="block">ADVANCED:
 Return true if an additional criteria has been set on this query manager.</div>
</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#hasCustomMultipleTableJoinExpression--">hasCustomMultipleTableJoinExpression</a></span>()</code>
<div class="block">INTERNAL:
 Return if a custom join expression is used.</div>
</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#hasDeleteQuery--">hasDeleteQuery</a></span>()</code>
<div class="block">INTERNAL:
 Flag that specifies if a delete query is available</div>
</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#hasDoesExistQuery--">hasDoesExistQuery</a></span>()</code>
<div class="block">INTERNAL:
 Flag that specifies if a does exist query is available</div>
</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#hasInsertQuery--">hasInsertQuery</a></span>()</code>
<div class="block">INTERNAL:
 Flag that specifies if a insert query is available</div>
</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#hasReadAllQuery--">hasReadAllQuery</a></span>()</code>
<div class="block">INTERNAL:
 Flag that specifies if a read all query is available</div>
</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#hasReadObjectQuery--">hasReadObjectQuery</a></span>()</code>
<div class="block">INTERNAL:
 Flag that specifies if a read object  query is available</div>
</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#hasUpdateQuery--">hasUpdateQuery</a></span>()</code>
<div class="block">INTERNAL:
 Flag that specifies if a update query is available</div>
</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#initialize-org.eclipse.persistence.internal.sessions.AbstractSession-">initialize</a></span>(org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)</code>
<div class="block">INTERNAL:
 Post initialize the mappings</div>
</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#initializeQueryTimeout-org.eclipse.persistence.internal.sessions.AbstractSession-">initializeQueryTimeout</a></span>(org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)</code>
<div class="block">INTERNAL:
 Initialize the queryTimeout to:

 NoTimeout: If queryTimeout is DefaultTimeout, either directly or via inheritance.</div>
</td>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#postDelete-org.eclipse.persistence.queries.DeleteObjectQuery-">postDelete</a></span>(<a href="../../../../org/eclipse/persistence/queries/DeleteObjectQuery.html" title="class in org.eclipse.persistence.queries">DeleteObjectQuery</a>&nbsp;query)</code>
<div class="block">INTERNAL:
 Execute the post delete operation for the query</div>
</td>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#postInitialize-org.eclipse.persistence.internal.sessions.AbstractSession-">postInitialize</a></span>(org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)</code>
<div class="block">INTERNAL:
 Post initializations after mappings are initialized.</div>
</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#postInsert-org.eclipse.persistence.queries.WriteObjectQuery-">postInsert</a></span>(<a href="../../../../org/eclipse/persistence/queries/WriteObjectQuery.html" title="class in org.eclipse.persistence.queries">WriteObjectQuery</a>&nbsp;query)</code>
<div class="block">INTERNAL:
 Execute the post insert operation for the query</div>
</td>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#postUpdate-org.eclipse.persistence.queries.WriteObjectQuery-">postUpdate</a></span>(<a href="../../../../org/eclipse/persistence/queries/WriteObjectQuery.html" title="class in org.eclipse.persistence.queries">WriteObjectQuery</a>&nbsp;query)</code>
<div class="block">INTERNAL:
 Execute the post update operation for the query</div>
</td>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#preDelete-org.eclipse.persistence.queries.DeleteObjectQuery-">preDelete</a></span>(<a href="../../../../org/eclipse/persistence/queries/DeleteObjectQuery.html" title="class in org.eclipse.persistence.queries">DeleteObjectQuery</a>&nbsp;query)</code>
<div class="block">INTERNAL:
 Execute the pre delete operation for the query</div>
</td>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#preInitialize-org.eclipse.persistence.internal.sessions.AbstractSession-">preInitialize</a></span>(org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)</code>
<div class="block">INTERNAL:
 Initialize the query manager.</div>
</td>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#preInsert-org.eclipse.persistence.queries.WriteObjectQuery-">preInsert</a></span>(<a href="../../../../org/eclipse/persistence/queries/WriteObjectQuery.html" title="class in org.eclipse.persistence.queries">WriteObjectQuery</a>&nbsp;query)</code>
<div class="block">INTERNAL:
 Execute the pre insert  operation for the query.</div>
</td>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#preUpdate-org.eclipse.persistence.queries.WriteObjectQuery-">preUpdate</a></span>(<a href="../../../../org/eclipse/persistence/queries/WriteObjectQuery.html" title="class in org.eclipse.persistence.queries">WriteObjectQuery</a>&nbsp;query)</code>
<div class="block">INTERNAL:
 Execute the pre update operation for the query</div>
</td>
</tr>
<tr id="i64" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#putCachedExpressionQuery-org.eclipse.persistence.queries.DatabaseQuery-">putCachedExpressionQuery</a></span>(<a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&nbsp;query)</code>
<div class="block">INTERNAL:
 Set the cached SQL call for the expression query.</div>
</td>
</tr>
<tr id="i65" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#putCachedUpdateCalls-java.util.Vector-java.util.Vector-">putCachedUpdateCalls</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;updateFields,
                    <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;updateCalls)</code>
<div class="block">INTERNAL:
 Cache a clone of the update SQL calls based on the updated fields.</div>
</td>
</tr>
<tr id="i66" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#removeCachedExpressionQuery-org.eclipse.persistence.queries.DatabaseQuery-">removeCachedExpressionQuery</a></span>(<a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&nbsp;query)</code>
<div class="block">INTERNAL:
 Remove the cached expression query.</div>
</td>
</tr>
<tr id="i67" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#removeQuery-java.lang.String-">removeQuery</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;queryName)</code>
<div class="block">PUBLIC:
 Remove all queries with the given query name from the set of pre-defined queries</div>
</td>
</tr>
<tr id="i68" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#removeQuery-java.lang.String-java.util.Vector-">removeQuery</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;queryName,
           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;argumentTypes)</code>
<div class="block">PUBLIC:
 Remove the specific query with the given queryName and argumentTypes.</div>
</td>
</tr>
<tr id="i69" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setAdditionalCriteria-java.lang.String-">setAdditionalCriteria</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;additionalCriteria)</code>
<div class="block">ADVANCED:
 Set the additional join criteria that will be used to form the additional
 join expression.</div>
</td>
</tr>
<tr id="i70" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setAdditionalJoinExpression-org.eclipse.persistence.expressions.Expression-">setAdditionalJoinExpression</a></span>(<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&nbsp;additionalJoinExpression)</code>
<div class="block">ADVANCED:
 Set the additional join expression.</div>
</td>
</tr>
<tr id="i71" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setAllQueries-java.util.Vector-">setAllQueries</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;vector)</code>
<div class="block">INTERNAL:
 Set pre-defined queries for the descriptor.</div>
</td>
</tr>
<tr id="i72" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setDeleteCall-org.eclipse.persistence.queries.Call-">setDeleteCall</a></span>(<a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a>&nbsp;call)</code>
<div class="block">ADVANCED:
 Set the receiver's delete call.</div>
</td>
</tr>
<tr id="i73" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setDeleteQuery-org.eclipse.persistence.queries.DeleteObjectQuery-">setDeleteQuery</a></span>(<a href="../../../../org/eclipse/persistence/queries/DeleteObjectQuery.html" title="class in org.eclipse.persistence.queries">DeleteObjectQuery</a>&nbsp;query)</code>
<div class="block">ADVANCED:
 Set the receiver's delete query.</div>
</td>
</tr>
<tr id="i74" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setDeleteSQLString-java.lang.String-">setDeleteSQLString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;sqlString)</code>
<div class="block">ADVANCED:
 Set the receiver's delete SQL string.</div>
</td>
</tr>
<tr id="i75" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setDescriptor-org.eclipse.persistence.descriptors.ClassDescriptor-">setDescriptor</a></span>(<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&nbsp;descriptor)</code>
<div class="block">INTERNAL:
 Set the descriptor.</div>
</td>
</tr>
<tr id="i76" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setDoesExistCall-org.eclipse.persistence.queries.Call-">setDoesExistCall</a></span>(<a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a>&nbsp;call)</code>
<div class="block">ADVANCED:
 Set the receiver's does exist call.</div>
</td>
</tr>
<tr id="i77" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setDoesExistQuery-org.eclipse.persistence.queries.DoesExistQuery-">setDoesExistQuery</a></span>(<a href="../../../../org/eclipse/persistence/queries/DoesExistQuery.html" title="class in org.eclipse.persistence.queries">DoesExistQuery</a>&nbsp;query)</code>
<div class="block">ADVANCED:
 Set the receiver's  does exist query.</div>
</td>
</tr>
<tr id="i78" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setDoesExistSQLString-java.lang.String-">setDoesExistSQLString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;sqlString)</code>
<div class="block">ADVANCED:
 Set the receiver's does exist SQL string.</div>
</td>
</tr>
<tr id="i79" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setExistenceCheck-java.lang.String-">setExistenceCheck</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;token)</code>
<div class="block">INTERNAL:
 This method is explicitly used by the Builder only.</div>
</td>
</tr>
<tr id="i80" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setExpressionQueryCacheMaxSize-int-">setExpressionQueryCacheMaxSize</a></span>(int&nbsp;maxSize)</code>
<div class="block">ADVANCED:
 Set the max size of the expression query cache for avoiding regenerated dynamic query SQL.</div>
</td>
</tr>
<tr id="i81" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setHasCustomMultipleTableJoinExpression-boolean-">setHasCustomMultipleTableJoinExpression</a></span>(boolean&nbsp;hasCustomMultipleTableJoinExpression)</code>
<div class="block">INTENAL:
 Set if a custom join expression is used.</div>
</td>
</tr>
<tr id="i82" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setInsertCall-org.eclipse.persistence.queries.Call-">setInsertCall</a></span>(<a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a>&nbsp;call)</code>
<div class="block">ADVANCED:
 Set the receiver's insert call.</div>
</td>
</tr>
<tr id="i83" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setInsertQuery-org.eclipse.persistence.queries.InsertObjectQuery-">setInsertQuery</a></span>(<a href="../../../../org/eclipse/persistence/queries/InsertObjectQuery.html" title="class in org.eclipse.persistence.queries">InsertObjectQuery</a>&nbsp;insertQuery)</code>
<div class="block">ADVANCED:
 Set the receiver's insert query.</div>
</td>
</tr>
<tr id="i84" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setInsertSQLString-java.lang.String-">setInsertSQLString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;sqlString)</code>
<div class="block">ADVANCED:
 Set the receiver's insert SQL string.</div>
</td>
</tr>
<tr id="i85" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setInternalMultipleTableJoinExpression-org.eclipse.persistence.expressions.Expression-">setInternalMultipleTableJoinExpression</a></span>(<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&nbsp;multipleTableJoinExpression)</code>
<div class="block">INTERNAL:
 Used to set the multiple table join expression that was generated by EclipseLink as opposed
 to a custom one supplied by the user.</div>
</td>
</tr>
<tr id="i86" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setMultipleTableJoinExpression-org.eclipse.persistence.expressions.Expression-">setMultipleTableJoinExpression</a></span>(<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&nbsp;multipleTableJoinExpression)</code>
<div class="block">ADVANCED:
 This is normally generated for descriptors that have multiple tables.</div>
</td>
</tr>
<tr id="i87" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setQueries-java.util.Map-">setQueries</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&nbsp;map)</code>
<div class="block">PUBLIC:
 set the pre-defined queries for the descriptor.</div>
</td>
</tr>
<tr id="i88" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setQueryTimeout-int-">setQueryTimeout</a></span>(int&nbsp;queryTimeout)</code>
<div class="block">PUBLIC:
 Set the number of seconds that queries will wait for their Statement to execute.</div>
</td>
</tr>
<tr id="i89" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setQueryTimeoutUnit-java.util.concurrent.TimeUnit-">setQueryTimeoutUnit</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;queryTimeoutUnit)</code>&nbsp;</td>
</tr>
<tr id="i90" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setReadAllCall-org.eclipse.persistence.queries.Call-">setReadAllCall</a></span>(<a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a>&nbsp;call)</code>
<div class="block">ADVANCED:
 Set the receiver's read all call.</div>
</td>
</tr>
<tr id="i91" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setReadAllQuery-org.eclipse.persistence.queries.ReadAllQuery-">setReadAllQuery</a></span>(<a href="../../../../org/eclipse/persistence/queries/ReadAllQuery.html" title="class in org.eclipse.persistence.queries">ReadAllQuery</a>&nbsp;query)</code>
<div class="block">ADVANCED:
 Set the receiver's read all query.</div>
</td>
</tr>
<tr id="i92" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setReadAllSQLString-java.lang.String-">setReadAllSQLString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;sqlString)</code>
<div class="block">ADVANCED:
 Set the receiver's read SQL string.</div>
</td>
</tr>
<tr id="i93" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setReadObjectCall-org.eclipse.persistence.queries.Call-">setReadObjectCall</a></span>(<a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a>&nbsp;call)</code>
<div class="block">ADVANCED:
 Set the receiver's read object call.</div>
</td>
</tr>
<tr id="i94" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setReadObjectQuery-org.eclipse.persistence.queries.ReadObjectQuery-">setReadObjectQuery</a></span>(<a href="../../../../org/eclipse/persistence/queries/ReadObjectQuery.html" title="class in org.eclipse.persistence.queries">ReadObjectQuery</a>&nbsp;query)</code>
<div class="block">ADVANCED:
 Set the receiver's read query.</div>
</td>
</tr>
<tr id="i95" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setReadObjectSQLString-java.lang.String-">setReadObjectSQLString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;sqlString)</code>
<div class="block">ADVANCED:
 Set the receiver's read SQL string.</div>
</td>
</tr>
<tr id="i96" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setUpdateCall-org.eclipse.persistence.queries.Call-">setUpdateCall</a></span>(<a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a>&nbsp;call)</code>
<div class="block">ADVANCED:
 Set the receiver's update call.</div>
</td>
</tr>
<tr id="i97" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setUpdateCallCacheSize-int-">setUpdateCallCacheSize</a></span>(int&nbsp;updateCallCacheSize)</code>
<div class="block">ADVANCED:
 Set the size of the update call cache.</div>
</td>
</tr>
<tr id="i98" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setUpdateQuery-org.eclipse.persistence.queries.UpdateObjectQuery-">setUpdateQuery</a></span>(<a href="../../../../org/eclipse/persistence/queries/UpdateObjectQuery.html" title="class in org.eclipse.persistence.queries">UpdateObjectQuery</a>&nbsp;updateQuery)</code>
<div class="block">ADVANCED:
 Set the receiver's update query.</div>
</td>
</tr>
<tr id="i99" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setUpdateSQLString-java.lang.String-">setUpdateSQLString</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;sqlString)</code>
<div class="block">ADVANCED:
 Set the receiver's update SQL string.</div>
</td>
</tr>
<tr id="i100" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#updatePropertyParameterExpression-org.eclipse.persistence.expressions.Expression-">updatePropertyParameterExpression</a></span>(<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&nbsp;exp)</code>
<div class="block">INTERNAL:
 This method will walk the given expression and mark any parameter
 expressions as property expressions.</div>
</td>
</tr>
</table>
<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">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="insertQuery">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>insertQuery</h4>
<pre>protected&nbsp;<a href="../../../../org/eclipse/persistence/queries/InsertObjectQuery.html" title="class in org.eclipse.persistence.queries">InsertObjectQuery</a> insertQuery</pre>
</li>
</ul>
<a name="updateQuery">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateQuery</h4>
<pre>protected&nbsp;<a href="../../../../org/eclipse/persistence/queries/UpdateObjectQuery.html" title="class in org.eclipse.persistence.queries">UpdateObjectQuery</a> updateQuery</pre>
</li>
</ul>
<a name="readObjectQuery">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readObjectQuery</h4>
<pre>protected&nbsp;<a href="../../../../org/eclipse/persistence/queries/ReadObjectQuery.html" title="class in org.eclipse.persistence.queries">ReadObjectQuery</a> readObjectQuery</pre>
</li>
</ul>
<a name="readAllQuery">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readAllQuery</h4>
<pre>protected&nbsp;<a href="../../../../org/eclipse/persistence/queries/ReadAllQuery.html" title="class in org.eclipse.persistence.queries">ReadAllQuery</a> readAllQuery</pre>
</li>
</ul>
<a name="deleteQuery">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deleteQuery</h4>
<pre>protected&nbsp;<a href="../../../../org/eclipse/persistence/queries/DeleteObjectQuery.html" title="class in org.eclipse.persistence.queries">DeleteObjectQuery</a> deleteQuery</pre>
</li>
</ul>
<a name="doesExistQuery">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doesExistQuery</h4>
<pre>protected&nbsp;<a href="../../../../org/eclipse/persistence/queries/DoesExistQuery.html" title="class in org.eclipse.persistence.queries">DoesExistQuery</a> doesExistQuery</pre>
</li>
</ul>
<a name="descriptor">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>descriptor</h4>
<pre>protected&nbsp;<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a> descriptor</pre>
</li>
</ul>
<a name="hasCustomMultipleTableJoinExpression">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasCustomMultipleTableJoinExpression</h4>
<pre>protected&nbsp;boolean hasCustomMultipleTableJoinExpression</pre>
</li>
</ul>
<a name="additionalCriteria">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>additionalCriteria</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> additionalCriteria</pre>
</li>
</ul>
<a name="additionalJoinExpression">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>additionalJoinExpression</h4>
<pre>protected transient&nbsp;<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a> additionalJoinExpression</pre>
</li>
</ul>
<a name="multipleTableJoinExpression">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>multipleTableJoinExpression</h4>
<pre>protected transient&nbsp;<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a> multipleTableJoinExpression</pre>
</li>
</ul>
<a name="queries">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>queries</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<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;<a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&gt;&gt; queries</pre>
</li>
</ul>
<a name="tablesJoinExpressions">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tablesJoinExpressions</h4>
<pre>protected transient&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.eclipse.persistence.internal.helper.DatabaseTable,<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&gt; tablesJoinExpressions</pre>
</li>
</ul>
<a name="cachedUpdateCalls">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cachedUpdateCalls</h4>
<pre>protected transient&nbsp;org.eclipse.persistence.internal.helper.ConcurrentFixedCache cachedUpdateCalls</pre>
<div class="block">PERF: Update call cache for avoiding regenerated update SQL.</div>
</li>
</ul>
<a name="cachedExpressionQueries">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cachedExpressionQueries</h4>
<pre>protected transient&nbsp;org.eclipse.persistence.internal.helper.ConcurrentFixedCache cachedExpressionQueries</pre>
<div class="block">PERF: Expression query call cache for avoiding regenerated dynamic query SQL.</div>
</li>
</ul>
<a name="NoTimeout">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>NoTimeout</h4>
<pre>public static final&nbsp;int NoTimeout</pre>
<div class="block">queryTimeout has three possible settings: DefaultTimeout, NoTimeout, and 1..N
 This applies to both DatabaseQuery.queryTimeout and DescriptorQueryManager.queryTimeout

 DatabaseQuery.queryTimeout:
 - DefaultTimeout: get queryTimeout from DescriptorQueryManager
 - NoTimeout, 1..N: overrides queryTimeout in DescriptorQueryManager

 DescriptorQueryManager.queryTimeout:
 - DefaultTimeout: get queryTimeout from parent DescriptorQueryManager. If there is no
 parent, default to NoTimeout
 - NoTimeout, 1..N: overrides parent queryTimeout</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.descriptors.DescriptorQueryManager.NoTimeout">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="DefaultTimeout">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DefaultTimeout</h4>
<pre>public static final&nbsp;int DefaultTimeout</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.descriptors.DescriptorQueryManager.DefaultTimeout">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="queryTimeout">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>queryTimeout</h4>
<pre>protected&nbsp;int queryTimeout</pre>
</li>
</ul>
<a name="DefaultTimeoutUnit">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DefaultTimeoutUnit</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a> DefaultTimeoutUnit</pre>
</li>
</ul>
<a name="queryTimeoutUnit">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>queryTimeoutUnit</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a> queryTimeoutUnit</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="DescriptorQueryManager--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DescriptorQueryManager</h4>
<pre>public&nbsp;DescriptorQueryManager()</pre>
<div class="block">INTERNAL:
 Initialize the state of the descriptor query manager</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="setExpressionQueryCacheMaxSize-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setExpressionQueryCacheMaxSize</h4>
<pre>public&nbsp;void&nbsp;setExpressionQueryCacheMaxSize(int&nbsp;maxSize)</pre>
<div class="block">ADVANCED:
 Set the max size of the expression query cache for avoiding regenerated dynamic query SQL.</div>
</li>
</ul>
<a name="getExpressionQueryCacheMaxSize--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExpressionQueryCacheMaxSize</h4>
<pre>public&nbsp;int&nbsp;getExpressionQueryCacheMaxSize()</pre>
<div class="block">ADVANCED:
 Return the max size of the expression query cache for avoiding regenerated dynamic query SQL.</div>
</li>
</ul>
<a name="addQuery-java.lang.String-org.eclipse.persistence.queries.DatabaseQuery-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addQuery</h4>
<pre>public&nbsp;void&nbsp;addQuery(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                     <a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&nbsp;query)</pre>
<div class="block">PUBLIC:
 Add the query to the descriptor queries with the given name</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - This is the name of the query.  It will be set on the query and used to look it up.</dd>
<dd><code>query</code> - This is the query that will be added.  If the query being added has parameters, the
 existing list of queries will be checked for matching queries.  If a matching query exists,
 it will be replaced.</dd>
</dl>
</li>
</ul>
<a name="addQuery-org.eclipse.persistence.queries.DatabaseQuery-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addQuery</h4>
<pre>public&nbsp;void&nbsp;addQuery(<a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&nbsp;query)</pre>
<div class="block">PUBLIC:
 Add the query to the session queries</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>query</code> - DatabaseQuery This is the query that will be added.  If the query being added has parameters, the
 existing list of queries will be checked for matching queries.  If a matching query exists,
 it will be replaced.</dd>
</dl>
</li>
</ul>
<a name="assumeExistenceForDoesExist--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>assumeExistenceForDoesExist</h4>
<pre>public&nbsp;void&nbsp;assumeExistenceForDoesExist()</pre>
<div class="block">PUBLIC:
 Assume that if the objects primary key does not include null then it must exist.
 This may be used if the application guarantees or does not care about the existence check.</div>
</li>
</ul>
<a name="assumeNonExistenceForDoesExist--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>assumeNonExistenceForDoesExist</h4>
<pre>public&nbsp;void&nbsp;assumeNonExistenceForDoesExist()</pre>
<div class="block">PUBLIC:
 Assume that the object does not exist. This may be used if the application guarantees or
 does not care about the existence check.  This will always force an insert to be called.</div>
</li>
</ul>
<a name="checkCacheForDoesExist--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkCacheForDoesExist</h4>
<pre>public&nbsp;void&nbsp;checkCacheForDoesExist()</pre>
<div class="block">PUBLIC:
 Default behavior.
 Assume that if the objects primary key does not include null and it
 is in the cache, then is must exist.</div>
</li>
</ul>
<a name="checkDatabaseForDoesExist--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkDatabaseForDoesExist</h4>
<pre>public&nbsp;void&nbsp;checkDatabaseForDoesExist()</pre>
<div class="block">PUBLIC:
 Perform does exist check on the database</div>
</li>
</ul>
<a name="clone--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clone</h4>
<pre>public&nbsp;<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>&nbsp;clone()</pre>
<div class="block">INTERNAL:
 Clone the query manager</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a></code>&nbsp;in class&nbsp;<code><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></code></dd>
</dl>
</li>
</ul>
<a name="containsQuery-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>containsQuery</h4>
<pre>public&nbsp;boolean&nbsp;containsQuery(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;queryName)</pre>
<div class="block">PUBLIC:
 Return true if the query is defined on the session</div>
</li>
</ul>
<a name="convertClassNamesToClasses-java.lang.ClassLoader-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertClassNamesToClasses</h4>
<pre>public&nbsp;void&nbsp;convertClassNamesToClasses(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;classLoader)</pre>
<div class="block">INTERNAL:
 Convert all the class-name-based settings in this Query Manager to actual class-based
 settings
 This method is implemented by subclasses as necessary.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>classLoader</code> - </dd>
</dl>
</li>
</ul>
<a name="getAdditionalJoinExpression--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAdditionalJoinExpression</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&nbsp;getAdditionalJoinExpression()</pre>
<div class="block">ADVANCED:
 Returns the join expression that should be appended to all of the descriptors expressions
 Contains any multiple table or inheritance dependencies</div>
</li>
</ul>
<a name="getDeleteQuery--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDeleteQuery</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/queries/DeleteObjectQuery.html" title="class in org.eclipse.persistence.queries">DeleteObjectQuery</a>&nbsp;getDeleteQuery()</pre>
<div class="block">ADVANCED:
 Return the receiver's delete query.
 This should be an instance of a valid subclass of DeleteObjectQuery.
 If specified this is used by the descriptor to delete itself and its private parts from the database.
 This gives the user the ability to define exactly how to delete the data from the database,
 or access data external from the database or from some other framework.</div>
</li>
</ul>
<a name="getDeleteSQLString--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDeleteSQLString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDeleteSQLString()</pre>
<div class="block">ADVANCED:
 Return the receiver's delete SQL string.
 This allows the user to override the SQL generated by EclipseLink, with their own SQL or procedure call.
 The arguments are translated from the fields of the source row,
 through replacing the field names marked by '#' with the values for those fields.
 <p>
    Example, "delete from EMPLOYEE where EMPLOYEE_ID = #EMPLOYEE_ID".</div>
</li>
</ul>
<a name="getDescriptor--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDescriptor</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&nbsp;getDescriptor()</pre>
<div class="block">INTERNAL:
 Return the descriptor associated with this descriptor query manager</div>
</li>
</ul>
<a name="getDoesExistQuery--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDoesExistQuery</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/queries/DoesExistQuery.html" title="class in org.eclipse.persistence.queries">DoesExistQuery</a>&nbsp;getDoesExistQuery()</pre>
<div class="block">ADVANCED:
 Return the receiver's  does exist query.
 This should be an instance of a valid subclass of DoesExistQuery.
 If specified this is used by the descriptor to query existence of an object in the database.
 This gives the user the ability to define exactly how to query existence from the database,
 or access data external from the database or from some other framework.</div>
</li>
</ul>
<a name="getDoesExistSQLString--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDoesExistSQLString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDoesExistSQLString()</pre>
<div class="block">ADVANCED:
 Return the receiver's does exist SQL string.
 This allows the user to override the SQL generated by EclipseLink, with there own SQL or procedure call.
 The arguments are translated from the fields of the source row, through replacing the field names marked by '#'
 with the values for those fields.
 This must return null if the object does not exist, otherwise return a database row.
 <p>
 Example, "select EMPLOYEE_ID from EMPLOYEE where EMPLOYEE_ID = #EMPLOYEE_ID".</div>
</li>
</ul>
<a name="getExistenceCheck--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExistenceCheck</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getExistenceCheck()</pre>
<div class="block">INTERNAL:
 This method is explicitly used by the Builder only.</div>
</li>
</ul>
<a name="getInsertQuery--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInsertQuery</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/queries/InsertObjectQuery.html" title="class in org.eclipse.persistence.queries">InsertObjectQuery</a>&nbsp;getInsertQuery()</pre>
<div class="block">ADVANCED:
 Return the receiver's insert query.
 This should be an instance of a valid subclass of InsertObjectQuery.
 If specified this is used by the descriptor to insert itself into the database.
 If the receiver uses sequence numbers, this query must return the updated sequence value.
 This gives the user the ability to define exactly how to insert the data into the database,
 or access data external from the database or from some other framework.</div>
</li>
</ul>
<a name="getInsertSQLString--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInsertSQLString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getInsertSQLString()</pre>
<div class="block">ADVANCED:
 Return the receiver's insert SQL string.
 This allows the user to override the SQL generated by EclipseLink, with their own SQL or procedure call.
 The arguments are translated from the fields of the source row,
 through replacing the field names marked by '#' with the values for those fields.
 <p>
 Example, "insert into EMPLOYEE (F_NAME, L_NAME) values (#F_NAME, #L_NAME)".</div>
</li>
</ul>
<a name="getMultipleTableJoinExpression--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMultipleTableJoinExpression</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&nbsp;getMultipleTableJoinExpression()</pre>
<div class="block">ADVANCED:
 This is normally generated for descriptors that have multiple tables.
 However, if the additional table does not reference the primary tables primary key,
 this expression may be set directly.</div>
</li>
</ul>
<a name="getQueries--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getQueries</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<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;<a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&gt;&gt;&nbsp;getQueries()</pre>
<div class="block">PUBLIC:
 Return the pre-defined queries for the descriptor.
 The Map returned contains Lists of queries.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getAllQueries--"><code>getAllQueries()</code></a></dd>
</dl>
</li>
</ul>
<a name="getAllQueries--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAllQueries</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;getAllQueries()</pre>
<div class="block">PUBLIC:
 Return the pre-defined queries for the descriptor.  The Vector returned
 contains all queries for this descriptor.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getQueries--"><code>getQueries()</code></a></dd>
</dl>
</li>
</ul>
<a name="setAllQueries-java.util.Vector-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAllQueries</h4>
<pre>public&nbsp;void&nbsp;setAllQueries(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;vector)</pre>
<div class="block">INTERNAL:
 Set pre-defined queries for the descriptor.  Converts the Vector to a hashtable</div>
</li>
</ul>
<a name="setQueries-java.util.Map-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setQueries</h4>
<pre>public&nbsp;void&nbsp;setQueries(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&nbsp;map)</pre>
<div class="block">PUBLIC:
 set the pre-defined queries for the descriptor.  Used to write out deployment XML</div>
</li>
</ul>
<a name="getQuery-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getQuery</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&nbsp;getQuery(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;queryName)</pre>
<div class="block">PUBLIC:
 Return the query name from the set of pre-defined queries
 If only one query exists with this name, it will be returned.
 If there are multiple queries of this name, this method will search for a query
 with no arguments and return the first one it finds.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getQuery-java.lang.String-java.util.Vector-"><code>getQuery(String, Vector)</code></a></dd>
</dl>
</li>
</ul>
<a name="getQuery-java.lang.String-java.util.Vector-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getQuery</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&nbsp;getQuery(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                              <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;arguments)</pre>
<div class="block">PUBLIC:
 Return the query from the set of pre-defined queries with the given name and argument types.
 This allows for common queries to be pre-defined, reused and executed by name.
 This method should be used if the Session has multiple queries with the same name but
 different arguments.
 If only one query exists, it will be returned regardless of the arguments.
 If multiple queries exist, the first query that has corresponding argument types will be returned</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getQuery-java.lang.String-"><code>getQuery(String)</code></a></dd>
</dl>
</li>
</ul>
<a name="getLocalQuery-java.lang.String-java.util.Vector-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalQuery</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&nbsp;getLocalQuery(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                                   <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;arguments)</pre>
<div class="block">INTENAL:
 Return the query from the set of pre-defined queries with the given name and argument types.
 This allows for common queries to be pre-defined, reused and executed by name.
 Only returns those queries locally defined, not superclass's queries
 If only one query exists, it will be returned regardless of the arguments.
 If multiple queries exist, the first query that has corresponding argument types will be returned</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getQuery-java.lang.String-"><code>getQuery(String)</code></a></dd>
</dl>
</li>
</ul>
<a name="getLocalQueryByArgumentTypes-java.lang.String-java.util.List-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocalQueryByArgumentTypes</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&nbsp;getLocalQueryByArgumentTypes(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                                                  <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>&nbsp;argumentTypes)</pre>
<div class="block">INTERNAL:
 Return the query from the set of pre-defined queries with the given name and argument types.
 This allows for common queries to be pre-defined, reused and executed by name.
 Only returns those queries locally defined, not superclass's queries
 If only one query exists, it will be returned regardless of the arguments.
 If multiple queries exist, the first query that has corresponding argument types will be returned</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#getQuery-java.lang.String-"><code>getQuery(String)</code></a></dd>
</dl>
</li>
</ul>
<a name="getQueryFromParent-java.lang.String-java.util.Vector-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getQueryFromParent</h4>
<pre>protected&nbsp;<a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&nbsp;getQueryFromParent(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                                           <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;arguments)</pre>
<div class="block">INTERNAL:
 CR#3711: Check if the class for this descriptor has a parent class.
 Then search this parent's descriptor for a query with the same name
 and arguments.  If nothing found, return null.

 This method should only be used recursively by getQuery().</div>
</li>
</ul>
<a name="getReadAllQuery--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReadAllQuery</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/queries/ReadAllQuery.html" title="class in org.eclipse.persistence.queries">ReadAllQuery</a>&nbsp;getReadAllQuery()</pre>
<div class="block">ADVANCED:
 Return the receiver's read query.
 This should be an instance of a valid subclass of ReadAllQuery.</div>
</li>
</ul>
<a name="getReadAllSQLString--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReadAllSQLString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getReadAllSQLString()</pre>
<div class="block">ADVANCED:
 Return the receiver's read SQL string.
 This allows the user to override the SQL generated by EclipseLink, with their own SQL or procedure call.
 The arguments are translated from the fields of the read arguments row,
 through replacing the field names marked by '#' with the values for those fields.
 Note that this is only used on readAllObjects(Class), and not when an expression is provided.
 <p>
 Example, "select * from EMPLOYEE"</div>
</li>
</ul>
<a name="getReadObjectQuery--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReadObjectQuery</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/queries/ReadObjectQuery.html" title="class in org.eclipse.persistence.queries">ReadObjectQuery</a>&nbsp;getReadObjectQuery()</pre>
<div class="block">ADVANCED:
 Return the receiver's read query.
 This should be an instance of a valid subclass of ReadObjectQuery.
 If specified this is used by the descriptor to read itself from the database.
 The read arguments must be the primary key of the object only.
 This gives the user the ability to define exactly how to read the object from the database,
 or access data external from the database or from some other framework.</div>
</li>
</ul>
<a name="getReadObjectSQLString--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReadObjectSQLString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getReadObjectSQLString()</pre>
<div class="block">ADVANCED:
 Return the receiver's read SQL string.
 This allows the user to override the SQL generated by EclipseLink, with their own SQL or procedure call.
 The arguments are translated from the fields of the read arguments row,
 through replacing the field names marked by '#' with the values for those fields.
 This must accept only the primary key of the object as arguments.
 <p>
 Example, "select * from EMPLOYEE where EMPLOYEE_ID = #EMPLOYEE_ID"</div>
</li>
</ul>
<a name="getUpdateQuery--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUpdateQuery</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/queries/UpdateObjectQuery.html" title="class in org.eclipse.persistence.queries">UpdateObjectQuery</a>&nbsp;getUpdateQuery()</pre>
<div class="block">ADVANCED:
 Return the receiver's update query.
 This should be an instance of a valid subclass of UpdateObjectQuery.
 If specified this is used by the descriptor to insert itself into the database.
 If the receiver uses optimistic locking this must raise an error on optimistic lock failure.
 This gives the user the ability to define exactly how to update the data into the database,
 or access data external from the database or from some other framework.</div>
</li>
</ul>
<a name="getUpdateSQLString--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUpdateSQLString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getUpdateSQLString()</pre>
<div class="block">ADVANCED:
 Return the receiver's update SQL string.
 This allows the user to override the SQL generated by EclipseLink, with there own SQL or procedure call.
 The arguments are translated from the fields of the source row,
 through replacing the field names marked by '#' with the values for those fields.
 This must check the optimistic lock field and raise an error on optimistic lock failure.
 <p>
 Example, "update EMPLOYEE set F_NAME to #F_NAME, L_NAME to #L_NAME where EMPLOYEE_ID = #EMPLOYEE_ID".</div>
</li>
</ul>
<a name="hasAdditionalCriteria--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasAdditionalCriteria</h4>
<pre>public&nbsp;boolean&nbsp;hasAdditionalCriteria()</pre>
<div class="block">ADVANCED:
 Return true if an additional criteria has been set on this query manager.</div>
</li>
</ul>
<a name="hasCustomMultipleTableJoinExpression--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasCustomMultipleTableJoinExpression</h4>
<pre>public&nbsp;boolean&nbsp;hasCustomMultipleTableJoinExpression()</pre>
<div class="block">INTERNAL:
 Return if a custom join expression is used.</div>
</li>
</ul>
<a name="hasDeleteQuery--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasDeleteQuery</h4>
<pre>public&nbsp;boolean&nbsp;hasDeleteQuery()</pre>
<div class="block">INTERNAL:
 Flag that specifies if a delete query is available</div>
</li>
</ul>
<a name="hasDoesExistQuery--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasDoesExistQuery</h4>
<pre>public&nbsp;boolean&nbsp;hasDoesExistQuery()</pre>
<div class="block">INTERNAL:
 Flag that specifies if a does exist query is available</div>
</li>
</ul>
<a name="hasInsertQuery--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasInsertQuery</h4>
<pre>public&nbsp;boolean&nbsp;hasInsertQuery()</pre>
<div class="block">INTERNAL:
 Flag that specifies if a insert query is available</div>
</li>
</ul>
<a name="hasReadAllQuery--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasReadAllQuery</h4>
<pre>public&nbsp;boolean&nbsp;hasReadAllQuery()</pre>
<div class="block">INTERNAL:
 Flag that specifies if a read all query is available</div>
</li>
</ul>
<a name="hasReadObjectQuery--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasReadObjectQuery</h4>
<pre>public&nbsp;boolean&nbsp;hasReadObjectQuery()</pre>
<div class="block">INTERNAL:
 Flag that specifies if a read object  query is available</div>
</li>
</ul>
<a name="hasUpdateQuery--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasUpdateQuery</h4>
<pre>public&nbsp;boolean&nbsp;hasUpdateQuery()</pre>
<div class="block">INTERNAL:
 Flag that specifies if a update query is available</div>
</li>
</ul>
<a name="initialize-org.eclipse.persistence.internal.sessions.AbstractSession-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialize</h4>
<pre>public&nbsp;void&nbsp;initialize(org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)</pre>
<div class="block">INTERNAL:
 Post initialize the mappings</div>
</li>
</ul>
<a name="initializeQueryTimeout-org.eclipse.persistence.internal.sessions.AbstractSession-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initializeQueryTimeout</h4>
<pre>public&nbsp;void&nbsp;initializeQueryTimeout(org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)</pre>
<div class="block">INTERNAL:
 Initialize the queryTimeout to:

 NoTimeout: If queryTimeout is DefaultTimeout, either directly or via inheritance.
 Parent's Timeout: If queryTimeout is something other than DefaultTimeout via my parent.</div>
</li>
</ul>
<a name="getParentDescriptorQueryManager--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParentDescriptorQueryManager</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html" title="class in org.eclipse.persistence.descriptors">DescriptorQueryManager</a>&nbsp;getParentDescriptorQueryManager()</pre>
<div class="block">INTERNAL:
 Get the parent DescriptorQueryManager.
 Caution must be used in using this method as it expects the descriptor
 to have inheritance.
 Calling this when the descriptor that does not use inheritance will cause problems, #hasInheritance() must
 always first be called.</div>
</li>
</ul>
<a name="postDelete-org.eclipse.persistence.queries.DeleteObjectQuery-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>postDelete</h4>
<pre>public&nbsp;void&nbsp;postDelete(<a href="../../../../org/eclipse/persistence/queries/DeleteObjectQuery.html" title="class in org.eclipse.persistence.queries">DeleteObjectQuery</a>&nbsp;query)</pre>
<div class="block">INTERNAL:
 Execute the post delete operation for the query</div>
</li>
</ul>
<a name="postInitialize-org.eclipse.persistence.internal.sessions.AbstractSession-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>postInitialize</h4>
<pre>public&nbsp;void&nbsp;postInitialize(org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)
                    throws <a href="../../../../org/eclipse/persistence/exceptions/DescriptorException.html" title="class in org.eclipse.persistence.exceptions">DescriptorException</a></pre>
<div class="block">INTERNAL:
 Post initializations after mappings are initialized.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/exceptions/DescriptorException.html" title="class in org.eclipse.persistence.exceptions">DescriptorException</a></code></dd>
</dl>
</li>
</ul>
<a name="updatePropertyParameterExpression-org.eclipse.persistence.expressions.Expression-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updatePropertyParameterExpression</h4>
<pre>protected&nbsp;void&nbsp;updatePropertyParameterExpression(<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&nbsp;exp)</pre>
<div class="block">INTERNAL:
 This method will walk the given expression and mark any parameter
 expressions as property expressions. This is done when additional
 criteria has been specified and parameter values must be resolved
 through session properties.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#postInitialize-org.eclipse.persistence.internal.sessions.AbstractSession-"><code>postInitialize(org.eclipse.persistence.internal.sessions.AbstractSession)</code></a></dd>
</dl>
</li>
</ul>
<a name="postInsert-org.eclipse.persistence.queries.WriteObjectQuery-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>postInsert</h4>
<pre>public&nbsp;void&nbsp;postInsert(<a href="../../../../org/eclipse/persistence/queries/WriteObjectQuery.html" title="class in org.eclipse.persistence.queries">WriteObjectQuery</a>&nbsp;query)</pre>
<div class="block">INTERNAL:
 Execute the post insert operation for the query</div>
</li>
</ul>
<a name="postUpdate-org.eclipse.persistence.queries.WriteObjectQuery-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>postUpdate</h4>
<pre>public&nbsp;void&nbsp;postUpdate(<a href="../../../../org/eclipse/persistence/queries/WriteObjectQuery.html" title="class in org.eclipse.persistence.queries">WriteObjectQuery</a>&nbsp;query)</pre>
<div class="block">INTERNAL:
 Execute the post update operation for the query</div>
</li>
</ul>
<a name="preDelete-org.eclipse.persistence.queries.DeleteObjectQuery-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>preDelete</h4>
<pre>public&nbsp;void&nbsp;preDelete(<a href="../../../../org/eclipse/persistence/queries/DeleteObjectQuery.html" title="class in org.eclipse.persistence.queries">DeleteObjectQuery</a>&nbsp;query)</pre>
<div class="block">INTERNAL:
 Execute the pre delete operation for the query</div>
</li>
</ul>
<a name="preInitialize-org.eclipse.persistence.internal.sessions.AbstractSession-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>preInitialize</h4>
<pre>public&nbsp;void&nbsp;preInitialize(org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)</pre>
<div class="block">INTERNAL:
 Initialize the query manager.
 Any custom queries must be inherited from the parent before any initialization.</div>
</li>
</ul>
<a name="preInsert-org.eclipse.persistence.queries.WriteObjectQuery-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>preInsert</h4>
<pre>public&nbsp;void&nbsp;preInsert(<a href="../../../../org/eclipse/persistence/queries/WriteObjectQuery.html" title="class in org.eclipse.persistence.queries">WriteObjectQuery</a>&nbsp;query)</pre>
<div class="block">INTERNAL:
 Execute the pre insert  operation for the query.</div>
</li>
</ul>
<a name="preUpdate-org.eclipse.persistence.queries.WriteObjectQuery-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>preUpdate</h4>
<pre>public&nbsp;void&nbsp;preUpdate(<a href="../../../../org/eclipse/persistence/queries/WriteObjectQuery.html" title="class in org.eclipse.persistence.queries">WriteObjectQuery</a>&nbsp;query)</pre>
<div class="block">INTERNAL:
 Execute the pre update operation for the query</div>
</li>
</ul>
<a name="removeQuery-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeQuery</h4>
<pre>public&nbsp;void&nbsp;removeQuery(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;queryName)</pre>
<div class="block">PUBLIC:
 Remove all queries with the given query name from the set of pre-defined queries</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#removeQuery-java.lang.String-java.util.Vector-"><code>removeQuery(String, Vector)</code></a></dd>
</dl>
</li>
</ul>
<a name="removeQuery-java.lang.String-java.util.Vector-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeQuery</h4>
<pre>public&nbsp;void&nbsp;removeQuery(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;queryName,
                        <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;argumentTypes)</pre>
<div class="block">PUBLIC:
 Remove the specific query with the given queryName and argumentTypes.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#removeQuery-java.lang.String-"><code>removeQuery(String)</code></a></dd>
</dl>
</li>
</ul>
<a name="setAdditionalCriteria-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAdditionalCriteria</h4>
<pre>public&nbsp;void&nbsp;setAdditionalCriteria(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;additionalCriteria)</pre>
<div class="block">ADVANCED:
 Set the additional join criteria that will be used to form the additional
 join expression. The additionalCriteria is a jpql fragment at this point.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setAdditionalJoinExpression-org.eclipse.persistence.expressions.Expression-"><code>setAdditionalJoinExpression(org.eclipse.persistence.expressions.Expression)</code></a></dd>
</dl>
</li>
</ul>
<a name="setAdditionalJoinExpression-org.eclipse.persistence.expressions.Expression-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAdditionalJoinExpression</h4>
<pre>public&nbsp;void&nbsp;setAdditionalJoinExpression(<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&nbsp;additionalJoinExpression)</pre>
<div class="block">ADVANCED:
 Set the additional join expression. Used in conjunction with
 multiple tables and inheritance relationships.
 This can also be used if a sub-expression is always required to be
 appended to all queries.  Such as tables that are shared based on a type field
 without inheritance.</div>
</li>
</ul>
<a name="setDeleteQuery-org.eclipse.persistence.queries.DeleteObjectQuery-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDeleteQuery</h4>
<pre>public&nbsp;void&nbsp;setDeleteQuery(<a href="../../../../org/eclipse/persistence/queries/DeleteObjectQuery.html" title="class in org.eclipse.persistence.queries">DeleteObjectQuery</a>&nbsp;query)</pre>
<div class="block">ADVANCED:
 Set the receiver's delete query.
 This should be an instance of a valid subclass of DeleteObjectQuery.
 If specified this is used by the descriptor to delete itself and its private parts from the database.
 This gives the user the ability to define exactly how to delete the data from the database,
 or access data external from the database or from some other framework.</div>
</li>
</ul>
<a name="setDeleteSQLString-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDeleteSQLString</h4>
<pre>public&nbsp;void&nbsp;setDeleteSQLString(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;sqlString)</pre>
<div class="block">ADVANCED:
 Set the receiver's delete SQL string.
 This allows the user to override the SQL generated by EclipseLink, with their own SQL or procedure call.
 The arguments are translated from the fields of the source row,
 through replacing the field names marked by '#' with the values for those fields.
 Warning: Allowing an unverified SQL string to be passed into this
 method makes your application vulnerable to SQL injection attacks.
 <p>
    Example, "delete from EMPLOYEE where EMPLOYEE_ID = #EMPLOYEE_ID".</div>
</li>
</ul>
<a name="setDeleteCall-org.eclipse.persistence.queries.Call-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDeleteCall</h4>
<pre>public&nbsp;void&nbsp;setDeleteCall(<a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a>&nbsp;call)</pre>
<div class="block">ADVANCED:
 Set the receiver's delete call.
 This allows the user to override the delete operation.</div>
</li>
</ul>
<a name="setDescriptor-org.eclipse.persistence.descriptors.ClassDescriptor-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDescriptor</h4>
<pre>public&nbsp;void&nbsp;setDescriptor(<a href="../../../../org/eclipse/persistence/descriptors/ClassDescriptor.html" title="class in org.eclipse.persistence.descriptors">ClassDescriptor</a>&nbsp;descriptor)</pre>
<div class="block">INTERNAL:
 Set the descriptor.</div>
</li>
</ul>
<a name="setDoesExistQuery-org.eclipse.persistence.queries.DoesExistQuery-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDoesExistQuery</h4>
<pre>public&nbsp;void&nbsp;setDoesExistQuery(<a href="../../../../org/eclipse/persistence/queries/DoesExistQuery.html" title="class in org.eclipse.persistence.queries">DoesExistQuery</a>&nbsp;query)</pre>
<div class="block">ADVANCED:
 Set the receiver's  does exist query.
 This should be an instance of a valid subclass of DoesExistQuery.
 If specified this is used by the descriptor to query existence of an object in the database.
 This gives the user the ability to define exactly how to query existence from the database,
 or access data external from the database or from some other framework.</div>
</li>
</ul>
<a name="setDoesExistSQLString-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDoesExistSQLString</h4>
<pre>public&nbsp;void&nbsp;setDoesExistSQLString(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;sqlString)</pre>
<div class="block">ADVANCED:
 Set the receiver's does exist SQL string.
 This allows the user to override the SQL generated by EclipseLink, with there own SQL or procedure call.
 The arguments are translated from the fields of the source row, through replacing the field names marked by '#'
 with the values for those fields.
 This must return null if the object does not exist, otherwise return a database row.
 Warning: Allowing an unverified SQL string to be passed into this
 method makes your application vulnerable to SQL injection attacks.
 <p>
 Example, "select EMPLOYEE_ID from EMPLOYEE where EMPLOYEE_ID = #EMPLOYEE_ID".</div>
</li>
</ul>
<a name="setDoesExistCall-org.eclipse.persistence.queries.Call-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDoesExistCall</h4>
<pre>public&nbsp;void&nbsp;setDoesExistCall(<a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a>&nbsp;call)</pre>
<div class="block">ADVANCED:
 Set the receiver's does exist call.
 This allows the user to override the does exist operation.</div>
</li>
</ul>
<a name="setExistenceCheck-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setExistenceCheck</h4>
<pre>public&nbsp;void&nbsp;setExistenceCheck(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;token)
                       throws <a href="../../../../org/eclipse/persistence/exceptions/DescriptorException.html" title="class in org.eclipse.persistence.exceptions">DescriptorException</a></pre>
<div class="block">INTERNAL:
 This method is explicitly used by the Builder only.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/exceptions/DescriptorException.html" title="class in org.eclipse.persistence.exceptions">DescriptorException</a></code></dd>
</dl>
</li>
</ul>
<a name="setHasCustomMultipleTableJoinExpression-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setHasCustomMultipleTableJoinExpression</h4>
<pre>protected&nbsp;void&nbsp;setHasCustomMultipleTableJoinExpression(boolean&nbsp;hasCustomMultipleTableJoinExpression)</pre>
<div class="block">INTENAL:
 Set if a custom join expression is used.</div>
</li>
</ul>
<a name="setInsertQuery-org.eclipse.persistence.queries.InsertObjectQuery-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInsertQuery</h4>
<pre>public&nbsp;void&nbsp;setInsertQuery(<a href="../../../../org/eclipse/persistence/queries/InsertObjectQuery.html" title="class in org.eclipse.persistence.queries">InsertObjectQuery</a>&nbsp;insertQuery)</pre>
<div class="block">ADVANCED:
 Set the receiver's insert query.
 This should be an instance of a valid subclass of InsertObjectQuery.
 If specified this is used by the descriptor to insert itself into the database.
 This gives the user the ability to define exactly how to insert the data into the database,
 or access data external from the database or from some other framework.</div>
</li>
</ul>
<a name="setInsertCall-org.eclipse.persistence.queries.Call-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInsertCall</h4>
<pre>public&nbsp;void&nbsp;setInsertCall(<a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a>&nbsp;call)</pre>
<div class="block">ADVANCED:
 Set the receiver's insert call.
 This allows the user to override the insert operation.</div>
</li>
</ul>
<a name="setInsertSQLString-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInsertSQLString</h4>
<pre>public&nbsp;void&nbsp;setInsertSQLString(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;sqlString)</pre>
<div class="block">ADVANCED:
 Set the receiver's insert SQL string.
 This allows the user to override the SQL generated by EclipseLink, with their own SQL or procedure call.
 The arguments are translated from the fields of the source row,
 through replacing the field names marked by '#' with the values for those fields.
 Warning: Allowing an unverified SQL string to be passed into this
 method makes your application vulnerable to SQL injection attacks.
 <p>
 Example, "insert into EMPLOYEE (F_NAME, L_NAME) values (#F_NAME, #L_NAME)".</div>
</li>
</ul>
<a name="getInsertCall--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInsertCall</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a>&nbsp;getInsertCall()</pre>
<div class="block">ADVANCED:
 Return the receiver's insert call.
 This allows the user to override the insert operation.</div>
</li>
</ul>
<a name="getUpdateCall--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUpdateCall</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a>&nbsp;getUpdateCall()</pre>
<div class="block">ADVANCED:
 Return the receiver's update call.
 This allows the user to override the update operation.</div>
</li>
</ul>
<a name="getDeleteCall--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDeleteCall</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a>&nbsp;getDeleteCall()</pre>
<div class="block">ADVANCED:
 Return the receiver's delete call.
 This allows the user to override the delete operation.</div>
</li>
</ul>
<a name="getReadObjectCall--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReadObjectCall</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a>&nbsp;getReadObjectCall()</pre>
<div class="block">ADVANCED:
 Return the receiver's read-object call.
 This allows the user to override the read-object operation.</div>
</li>
</ul>
<a name="getReadAllCall--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReadAllCall</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a>&nbsp;getReadAllCall()</pre>
<div class="block">ADVANCED:
 Return the receiver's read-all call.
 This allows the user to override the read-all operation.</div>
</li>
</ul>
<a name="getDoesExistCall--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDoesExistCall</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a>&nbsp;getDoesExistCall()</pre>
<div class="block">ADVANCED:
 Return the receiver's does-exist call.
 This allows the user to override the does-exist operation.</div>
</li>
</ul>
<a name="getTablesJoinExpressions--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTablesJoinExpressions</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.eclipse.persistence.internal.helper.DatabaseTable,<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&gt;&nbsp;getTablesJoinExpressions()</pre>
<div class="block">INTERNAL:
 Used in case descriptor has additional tables:
 each additional table mapped to an expression joining it.</div>
</li>
</ul>
<a name="setInternalMultipleTableJoinExpression-org.eclipse.persistence.expressions.Expression-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setInternalMultipleTableJoinExpression</h4>
<pre>public&nbsp;void&nbsp;setInternalMultipleTableJoinExpression(<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&nbsp;multipleTableJoinExpression)</pre>
<div class="block">INTERNAL:
 Used to set the multiple table join expression that was generated by EclipseLink as opposed
 to a custom one supplied by the user.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/descriptors/DescriptorQueryManager.html#setMultipleTableJoinExpression-org.eclipse.persistence.expressions.Expression-"><code>setMultipleTableJoinExpression(Expression)</code></a></dd>
</dl>
</li>
</ul>
<a name="setMultipleTableJoinExpression-org.eclipse.persistence.expressions.Expression-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMultipleTableJoinExpression</h4>
<pre>public&nbsp;void&nbsp;setMultipleTableJoinExpression(<a href="../../../../org/eclipse/persistence/expressions/Expression.html" title="class in org.eclipse.persistence.expressions">Expression</a>&nbsp;multipleTableJoinExpression)</pre>
<div class="block">ADVANCED:
 This is normally generated for descriptors that have multiple tables.
 However, if the additional table does not reference the primary table's primary key,
 this expression may be set directly.</div>
</li>
</ul>
<a name="setReadAllQuery-org.eclipse.persistence.queries.ReadAllQuery-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setReadAllQuery</h4>
<pre>public&nbsp;void&nbsp;setReadAllQuery(<a href="../../../../org/eclipse/persistence/queries/ReadAllQuery.html" title="class in org.eclipse.persistence.queries">ReadAllQuery</a>&nbsp;query)</pre>
<div class="block">ADVANCED:
 Set the receiver's read all query.
 This should be an instance of a valid subclass of ReadAllQuery.
 If specified this is used by the descriptor to read all instances of its class from the database.
 This gives the user the ability to define exactly how to read all objects from the database,
 or access data external from the database or from some other framework.
 Note that this is only used on readAllObjects(Class), and not when an expression is provided.</div>
</li>
</ul>
<a name="setReadAllSQLString-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setReadAllSQLString</h4>
<pre>public&nbsp;void&nbsp;setReadAllSQLString(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;sqlString)</pre>
<div class="block">ADVANCED:
 Set the receiver's read SQL string.
 This allows the user to override the SQL generated by EclipseLink, with their own SQL or procedure call.
 The arguments are translated from the fields of the read arguments row,
 through replacing the field names marked by '#' with the values for those fields.
 Note that this is only used on readAllObjects(Class), and not when an expression is provided.
 Warning: Allowing an unverified SQL string to be passed into this
 method makes your application vulnerable to SQL injection attacks.
 <p>
 Example, "select * from EMPLOYEE"</div>
</li>
</ul>
<a name="setReadAllCall-org.eclipse.persistence.queries.Call-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setReadAllCall</h4>
<pre>public&nbsp;void&nbsp;setReadAllCall(<a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a>&nbsp;call)</pre>
<div class="block">ADVANCED:
 Set the receiver's read all call.
 This allows the user to override the read all operation.
 Note that this is only used on readAllObjects(Class), and not when an expression is provided.</div>
</li>
</ul>
<a name="setReadObjectQuery-org.eclipse.persistence.queries.ReadObjectQuery-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setReadObjectQuery</h4>
<pre>public&nbsp;void&nbsp;setReadObjectQuery(<a href="../../../../org/eclipse/persistence/queries/ReadObjectQuery.html" title="class in org.eclipse.persistence.queries">ReadObjectQuery</a>&nbsp;query)</pre>
<div class="block">ADVANCED:
 Set the receiver's read query.
 This should be an instance of a valid subclass of ReadObjectQuery
 If specified this is used by the descriptor to read itself from the database.
 The read arguments must be the primary key of the object only.
 This gives the user the ability to define exactly how to read the object from the database,
 or access data external from the database or from some other framework.</div>
</li>
</ul>
<a name="setReadObjectSQLString-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setReadObjectSQLString</h4>
<pre>public&nbsp;void&nbsp;setReadObjectSQLString(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;sqlString)</pre>
<div class="block">ADVANCED:
 Set the receiver's read SQL string.
 This allows the user to override the SQL generated by EclipseLink, with their own SQL or procedure call.
 The arguments are translated from the fields of the read arguments row,
 through replacing the field names marked by '#' with the values for those fields.
 This must accept only the primary key of the object as arguments.
 Warning: Allowing an unverified SQL string to be passed into this
 method makes your application vulnerable to SQL injection attacks.
 <p>
 Example, "select * from EMPLOYEE where EMPLOYEE_ID = #EMPLOYEE_ID"</div>
</li>
</ul>
<a name="setReadObjectCall-org.eclipse.persistence.queries.Call-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setReadObjectCall</h4>
<pre>public&nbsp;void&nbsp;setReadObjectCall(<a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a>&nbsp;call)</pre>
<div class="block">ADVANCED:
 Set the receiver's read object call.
 This allows the user to override the read object operation.
 This must accept only the primary key of the object as arguments.</div>
</li>
</ul>
<a name="setUpdateQuery-org.eclipse.persistence.queries.UpdateObjectQuery-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUpdateQuery</h4>
<pre>public&nbsp;void&nbsp;setUpdateQuery(<a href="../../../../org/eclipse/persistence/queries/UpdateObjectQuery.html" title="class in org.eclipse.persistence.queries">UpdateObjectQuery</a>&nbsp;updateQuery)</pre>
<div class="block">ADVANCED:
 Set the receiver's update query.
 This should be an instance of a valid subclass of UpdateObjectQuery.
 If specified this is used by the descriptor to update itself in the database.
 If the receiver uses optimistic locking this must raise an error on optimistic lock failure.
 This gives the user the ability to define exactly how to update the data into the database,
 or access data external from the database or from some other framework.</div>
</li>
</ul>
<a name="setUpdateSQLString-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUpdateSQLString</h4>
<pre>public&nbsp;void&nbsp;setUpdateSQLString(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;sqlString)</pre>
<div class="block">ADVANCED:
 Set the receiver's update SQL string.
 This allows the user to override the SQL generated by EclipseLink, with there own SQL or procedure call.
 The arguments are translated from the fields of the source row,
 through replacing the field names marked by '#' with the values for those fields.
 This must check the optimistic lock field and raise an error on optimistic lock failure.
 Warning: Allowing an unverified SQL string to be passed into this
 method makes your application vulnerable to SQL injection attacks.
 <p>
 Example, "update EMPLOYEE set F_NAME to #F_NAME, L_NAME to #L_NAME where EMPLOYEE_ID = #EMPLOYEE_ID".</div>
</li>
</ul>
<a name="setUpdateCall-org.eclipse.persistence.queries.Call-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUpdateCall</h4>
<pre>public&nbsp;void&nbsp;setUpdateCall(<a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a>&nbsp;call)</pre>
<div class="block">ADVANCED:
 Set the receiver's update call.
 This allows the user to override the update operation.</div>
</li>
</ul>
<a name="getQueryTimeout--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getQueryTimeout</h4>
<pre>public&nbsp;int&nbsp;getQueryTimeout()</pre>
<div class="block">PUBLIC:
 Return the number of seconds queries will wait for their Statement to execute.

 - DefaultTimeout: get queryTimeout from parent DescriptorQueryManager. If there is no
 parent, default to NoTimeout
 - NoTimeout, 1..N: overrides parent queryTimeout</div>
</li>
</ul>
<a name="getQueryTimeoutUnit--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getQueryTimeoutUnit</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;getQueryTimeoutUnit()</pre>
</li>
</ul>
<a name="setQueryTimeout-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setQueryTimeout</h4>
<pre>public&nbsp;void&nbsp;setQueryTimeout(int&nbsp;queryTimeout)</pre>
<div class="block">PUBLIC:
 Set the number of seconds that queries will wait for their Statement to execute.
 If the limit is exceeded, a DatabaseException is thrown.

 - DefaultTimeout: get queryTimeout from parent DescriptorQueryManager. If there is no
 parent, default to NoTimeout
 - NoTimeout, 1..N: overrides parent queryTimeout</div>
</li>
</ul>
<a name="setQueryTimeoutUnit-java.util.concurrent.TimeUnit-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setQueryTimeoutUnit</h4>
<pre>public&nbsp;void&nbsp;setQueryTimeoutUnit(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/TimeUnit.html?is-external=true" title="class or interface in java.util.concurrent">TimeUnit</a>&nbsp;queryTimeoutUnit)</pre>
</li>
</ul>
<a name="getUpdateCallCacheSize--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUpdateCallCacheSize</h4>
<pre>public&nbsp;int&nbsp;getUpdateCallCacheSize()</pre>
<div class="block">ADVANCED:
 Return the size of the update call cache.
 The update call cache is used to cache the update SQL to avoid regeneration.
 Since every update with different fields produces different SQL,
 this cache allows caching of the update SQL based on the fields being updated.
 The default cache size is 10, the update call cache can be disabled through setting the size to 0.</div>
</li>
</ul>
<a name="setUpdateCallCacheSize-int-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setUpdateCallCacheSize</h4>
<pre>public&nbsp;void&nbsp;setUpdateCallCacheSize(int&nbsp;updateCallCacheSize)</pre>
<div class="block">ADVANCED:
 Set the size of the update call cache.
 The update call cache is used to cache the update SQL to avoid regeneration.
 Since every update with different fields produces different SQL,
 this cache allows caching of the update SQL based on the fields being updated.
 The default cache size is 10, the update call cache can be disabled through setting the size to 0.</div>
</li>
</ul>
<a name="getCachedUpdateCalls-java.util.Vector-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCachedUpdateCalls</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;getCachedUpdateCalls(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;updateFields)</pre>
<div class="block">INTERNAL:
 Return the cached update SQL call based on the updated fields.
 PERF: Allow caching of the update SQL call to avoid regeneration.</div>
</li>
</ul>
<a name="putCachedUpdateCalls-java.util.Vector-java.util.Vector-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putCachedUpdateCalls</h4>
<pre>public&nbsp;void&nbsp;putCachedUpdateCalls(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;updateFields,
                                 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;updateCalls)</pre>
<div class="block">INTERNAL:
 Cache a clone of the update SQL calls based on the updated fields.
 If the max size is reached, do not cache the call.
 The call's query must be dereferenced in order to allow the GC of a related session.
 PERF: Allow caching of the update SQL call to avoid regeneration.</div>
</li>
</ul>
<a name="getCachedExpressionQuery-org.eclipse.persistence.queries.DatabaseQuery-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCachedExpressionQuery</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&nbsp;getCachedExpressionQuery(<a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&nbsp;query)</pre>
<div class="block">INTERNAL:
 Return the cached SQL call for the expression query.
 PERF: Allow caching of expression query SQL call to avoid regeneration.</div>
</li>
</ul>
<a name="putCachedExpressionQuery-org.eclipse.persistence.queries.DatabaseQuery-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putCachedExpressionQuery</h4>
<pre>public&nbsp;void&nbsp;putCachedExpressionQuery(<a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&nbsp;query)</pre>
<div class="block">INTERNAL:
 Set the cached SQL call for the expression query.
 PERF: Allow caching of expression query SQL call to avoid regeneration.</div>
</li>
</ul>
<a name="removeCachedExpressionQuery-org.eclipse.persistence.queries.DatabaseQuery-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>removeCachedExpressionQuery</h4>
<pre>public&nbsp;void&nbsp;removeCachedExpressionQuery(<a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&nbsp;query)</pre>
<div class="block">INTERNAL:
 Remove the cached expression query.
 PERF: Allow caching of expression query SQL call to avoid regeneration.</div>
</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.2, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/eclipse/persistence/descriptors/DescriptorEventManager.html" title="class in org.eclipse.persistence.descriptors"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/descriptors/FetchGroupManager.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/DescriptorQueryManager.html" target="_top">Frames</a></li>
<li><a href="DescriptorQueryManager.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="#field.summary">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><a href="#field.detail">Field</a>&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;2021 <a href="http://www.eclipse.org/eclipselink">Eclipse.org - EclipseLink Project</a>. All rights reserved.</small></p>
</body>
</html>
