blob: 6abd300dffc7ecd4f5439dd1822265d80c8e5f4b [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.10) on Mon Dec 05 10:27:04 MSK 2022 -->
<title>SQLSelect (cayenne-doc: Cayenne Documentation 4.2.RC2 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2022-12-05">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SQLSelect (cayenne-doc: Cayenne Documentation 4.2.RC2 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":9,"i9":9,"i10":9,"i11":9,"i12":10,"i13":9,"i14":9,"i15":9,"i16":9,"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":42,"i40":10,"i41":10,"i42":10,"i43":9,"i44":10,"i45":41,"i46":41,"i47":41,"i48":41,"i49":9,"i50":41,"i51":41,"i52":9,"i53":10,"i54":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
var useModuleDirectories = false;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SQLSelect.html">Use</a></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"><a href="http://cayenne.apache.org" target="top">Apache Cayenne</a></div>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</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 id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.cayenne.query</a></div>
<h2 title="Class SQLSelect" class="title">Class SQLSelect&lt;T&gt;</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" class="externalLink">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="IndirectQuery.html" title="class in org.apache.cayenne.query">org.apache.cayenne.query.IndirectQuery</a></li>
<li>
<ul class="inheritance">
<li>org.apache.cayenne.query.SQLSelect&lt;T&gt;</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code>, <code><a href="Query.html" title="interface in org.apache.cayenne.query">Query</a></code>, <code><a href="Select.html" title="interface in org.apache.cayenne.query">Select</a>&lt;T&gt;</code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">SQLSelect&lt;T&gt;</span>
extends <a href="IndirectQuery.html" title="class in org.apache.cayenne.query">IndirectQuery</a>
implements <a href="Select.html" title="interface in org.apache.cayenne.query">Select</a>&lt;T&gt;</pre>
<div class="block">A selecting query based on raw SQL and featuring fluent API.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.0</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../serialized-form.html#org.apache.cayenne.query.SQLSelect">Serialized Form</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">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" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#cacheGroup">cacheGroup</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="QueryCacheStrategy.html" title="enum in org.apache.cayenne.query">QueryCacheStrategy</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#cacheStrategy">cacheStrategy</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="CapsStrategy.html" title="enum in org.apache.cayenne.query">CapsStrategy</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#columnNameCaps">columnNameCaps</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<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" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dataMapName">dataMapName</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#limit">limit</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#offset">offset</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pageSize">pageSize</a></span></code></th>
<td class="colLast">&nbsp;</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" class="externalLink">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" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#params">params</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#persistentType">persistentType</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#positionalParams">positionalParams</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="PrefetchTreeNode.html" title="class in org.apache.cayenne.query">PrefetchTreeNode</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prefetches">prefetches</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#queryTimeout">queryTimeout</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang" class="externalLink">StringBuilder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sqlBuffer">sqlBuffer</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#statementFetchSize">statementFetchSize</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.apache.cayenne.query.IndirectQuery">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.cayenne.query.<a href="IndirectQuery.html" title="class in org.apache.cayenne.query">IndirectQuery</a></h3>
<code><a href="IndirectQuery.html#dataMap">dataMap</a>, <a href="IndirectQuery.html#lastResolver">lastResolver</a>, <a href="IndirectQuery.html#name">name</a>, <a href="IndirectQuery.html#replacementQuery">replacementQuery</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.Class,java.lang.String)">SQLSelect</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;persistentType,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.String)">SQLSelect</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addPrefetch(java.lang.String,int)">addPrefetch</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;path,
int&nbsp;semantics)</code></th>
<td class="colLast">
<div class="block">Merges a prefetch path with specified semantics into the query prefetch tree.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addPrefetch(org.apache.cayenne.query.PrefetchTreeNode)">addPrefetch</a></span>&#8203;(<a href="PrefetchTreeNode.html" title="class in org.apache.cayenne.query">PrefetchTreeNode</a>&nbsp;node)</code></th>
<td class="colLast">
<div class="block">Merges a prefetch into the query prefetch tree.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#append(java.lang.String)">append</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sqlChunk)</code></th>
<td class="colLast">
<div class="block">Appends a piece of SQL to the previously stored SQL template.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../ResultBatchIterator.html" title="class in org.apache.cayenne">ResultBatchIterator</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#batchIterator(org.apache.cayenne.ObjectContext,int)">batchIterator</a></span>&#8203;(<a href="../ObjectContext.html" title="interface in org.apache.cayenne">ObjectContext</a>&nbsp;context,
int&nbsp;size)</code></th>
<td class="colLast">
<div class="block">Creates a ResultBatchIterator based on the provided context and batch
size.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#cacheGroup(java.lang.String)">cacheGroup</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;cacheGroup)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#cacheStrategy(org.apache.cayenne.query.QueryCacheStrategy)">cacheStrategy</a></span>&#8203;(<a href="QueryCacheStrategy.html" title="enum in org.apache.cayenne.query">QueryCacheStrategy</a>&nbsp;strategy)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#cacheStrategy(org.apache.cayenne.query.QueryCacheStrategy,java.lang.String)">cacheStrategy</a></span>&#8203;(<a href="QueryCacheStrategy.html" title="enum in org.apache.cayenne.query">QueryCacheStrategy</a>&nbsp;strategy,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;cacheGroup)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#columnNameCaps(org.apache.cayenne.query.CapsStrategy)">columnNameCaps</a></span>&#8203;(<a href="CapsStrategy.html" title="enum in org.apache.cayenne.query">CapsStrategy</a>&nbsp;columnNameCaps)</code></th>
<td class="colLast">
<div class="block">Sets a column name capitalization policy applied to selecting queries.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static <a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>[]&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#columnQuery(java.lang.String)">columnQuery</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql)</code></th>
<td class="colLast">
<div class="block">Creates query that selects scalar values (as Object[]) and uses default routing</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static <a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>[]&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#columnQuery(java.lang.String,java.lang.Class...)">columnQuery</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;?&gt;...&nbsp;types)</code></th>
<td class="colLast">
<div class="block">Creates query that selects scalar values (as Object[]) and uses default routing</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>static <a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>[]&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#columnQuery(java.lang.String,java.lang.String)">columnQuery</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;dataMapName)</code></th>
<td class="colLast">
<div class="block">Creates query that selects scalar values (as Object[]) and uses routing based on the
provided DataMap name.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>static <a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>[]&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#columnQuery(java.lang.String,java.lang.String,java.lang.Class...)">columnQuery</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;dataMapName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;?&gt;...&nbsp;types)</code></th>
<td class="colLast">
<div class="block">Creates query that selects scalar values (as Object[]) and uses routing based on the
provided DataMap name.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>protected <a href="Query.html" title="interface in org.apache.cayenne.query">Query</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createReplacementQuery(org.apache.cayenne.map.EntityResolver)">createReplacementQuery</a></span>&#8203;(<a href="../map/EntityResolver.html" title="class in org.apache.cayenne.map">EntityResolver</a>&nbsp;resolver)</code></th>
<td class="colLast">
<div class="block">Creates a substitute query.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static <a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="../DataRow.html" title="class in org.apache.cayenne">DataRow</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dataRowQuery(java.lang.String)">dataRowQuery</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql)</code></th>
<td class="colLast">
<div class="block">Creates a query that selects DataRows and uses default routing.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>static <a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="../DataRow.html" title="class in org.apache.cayenne">DataRow</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dataRowQuery(java.lang.String,java.lang.Class...)">dataRowQuery</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;?&gt;...&nbsp;types)</code></th>
<td class="colLast">
<div class="block">Creates a query that selects DataRows and uses default routing.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>static <a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="../DataRow.html" title="class in org.apache.cayenne">DataRow</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dataRowQuery(java.lang.String,java.lang.String)">dataRowQuery</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;dataMapName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql)</code></th>
<td class="colLast">
<div class="block">Creates a query that selects DataRows and uses routing based on the
provided DataMap name.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>static <a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="../DataRow.html" title="class in org.apache.cayenne">DataRow</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dataRowQuery(java.lang.String,java.lang.String,java.lang.Class...)">dataRowQuery</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;dataMapName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;?&gt;...&nbsp;types)</code></th>
<td class="colLast">
<div class="block">Creates a query that selects DataRows and uses routing based on the
provided DataMap name.</div>
</td>
</tr>
<tr id="i17" 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" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCacheGroup()">getCacheGroup</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="QueryCacheStrategy.html" title="enum in org.apache.cayenne.query">QueryCacheStrategy</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCacheStrategy()">getCacheStrategy</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="CapsStrategy.html" title="enum in org.apache.cayenne.query">CapsStrategy</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getColumnNameCaps()">getColumnNameCaps</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a column name capitalization policy applied to selecting queries.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLimit()">getLimit</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getOffset()">getOffset</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPageSize()">getPageSize</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i23" 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" class="externalLink">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" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getParams()">getParams</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a potentially immmutable map of named parameters that will be
bound to SQL.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getPositionalParams()">getPositionalParams</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a potentially immmutable list of positional parameters that will
be bound to SQL.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getQueryTimeout()">getQueryTimeout</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i26" 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" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSql()">getSql</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getStatementFetchSize()">getStatementFetchSize</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isFetchingDataRows()">isFetchingDataRows</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#iterate(org.apache.cayenne.ObjectContext,org.apache.cayenne.ResultIteratorCallback)">iterate</a></span>&#8203;(<a href="../ObjectContext.html" title="interface in org.apache.cayenne">ObjectContext</a>&nbsp;context,
<a href="../ResultIteratorCallback.html" title="interface in org.apache.cayenne">ResultIteratorCallback</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;callback)</code></th>
<td class="colLast">
<div class="block">Creates a ResultIterator based on the provided context and passes it to a
callback for processing.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code><a href="../ResultIterator.html" title="interface in org.apache.cayenne">ResultIterator</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#iterator(org.apache.cayenne.ObjectContext)">iterator</a></span>&#8203;(<a href="../ObjectContext.html" title="interface in org.apache.cayenne">ObjectContext</a>&nbsp;context)</code></th>
<td class="colLast">
<div class="block">Creates a ResultIterator based on the provided context.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#limit(int)">limit</a></span>&#8203;(int&nbsp;fetchLimit)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#localCache()">localCache</a></span>()</code></th>
<td class="colLast">
<div class="block">Instructs Cayenne to look for query results in the "local" cache when
running the query.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#localCache(java.lang.String)">localCache</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;cacheGroup)</code></th>
<td class="colLast">
<div class="block">Instructs Cayenne to look for query results in the "local" cache when
running the query.</div>
</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#lowerColumnNames()">lowerColumnNames</a></span>()</code></th>
<td class="colLast">
<div class="block">Equivalent of setting <a href="CapsStrategy.html#LOWER"><code>CapsStrategy.LOWER</code></a></div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>&lt;E&gt;&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;E&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#map(java.util.function.Function)">map</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function" class="externalLink">Function</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>,&#8203;E&gt;&nbsp;mapper)</code></th>
<td class="colLast">
<div class="block">Map result of this query by processing with a given function.</div>
</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#offset(int)">offset</a></span>&#8203;(int&nbsp;fetchOffset)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#pageSize(int)">pageSize</a></span>&#8203;(int&nbsp;pageSize)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#param(java.lang.String,java.lang.Object)">param</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;value)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#params(java.lang.String,java.lang.Object)">params</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;value)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 4.2
Use <a href="#param(java.lang.String,java.lang.Object)"><code>param(String, Object)</code></a></div>
</div>
</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#params(java.util.Map)">params</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">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" class="externalLink">String</a>,&#8203;?&gt;&nbsp;parameters)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#paramsArray(java.lang.Object...)">paramsArray</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>...&nbsp;params)</code></th>
<td class="colLast">
<div class="block">Initializes positional parameters of the query.</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#paramsList(java.util.List)">paramsList</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt;&nbsp;params)</code></th>
<td class="colLast">
<div class="block">Initializes positional parameters of the query.</div>
</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;T&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#query(java.lang.Class,java.lang.String)">query</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;T&gt;&nbsp;type,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql)</code></th>
<td class="colLast">
<div class="block">Creates a query that selects DataObjects.</div>
</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#queryTimeout(int)">queryTimeout</a></span>&#8203;(int&nbsp;queryTimeout)</code></th>
<td class="colLast">
<div class="block">Sets query timeout</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;T&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#scalarQuery(java.lang.Class,java.lang.String)">scalarQuery</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;T&gt;&nbsp;type,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 4.2.</div>
</div>
</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;T&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#scalarQuery(java.lang.Class,java.lang.String,java.lang.String)">scalarQuery</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;T&gt;&nbsp;type,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;dataMapName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 4.2.</div>
</div>
</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>static <a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>[]&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#scalarQuery(java.lang.String)">scalarQuery</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 4.2.</div>
</div>
</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>static <a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>[]&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#scalarQuery(java.lang.String,java.lang.Class...)">scalarQuery</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;?&gt;...&nbsp;types)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 4.2.</div>
</div>
</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;T&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#scalarQuery(java.lang.String,java.lang.Class)">scalarQuery</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;T&gt;&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Creates query that selects scalar value and uses default routing</div>
</td>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><code>static <a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>[]&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#scalarQuery(java.lang.String,java.lang.String)">scalarQuery</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;dataMapName)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 4.2.</div>
</div>
</td>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><code>static <a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>[]&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#scalarQuery(java.lang.String,java.lang.String,java.lang.Class...)">scalarQuery</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;dataMapName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;?&gt;...&nbsp;types)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 4.2.</div>
</div>
</td>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;T&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#scalarQuery(java.lang.String,java.lang.String,java.lang.Class)">scalarQuery</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;dataMapName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;T&gt;&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Creates query that selects scalar value and uses default routing</div>
</td>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#select(org.apache.cayenne.ObjectContext)">select</a></span>&#8203;(<a href="../ObjectContext.html" title="interface in org.apache.cayenne">ObjectContext</a>&nbsp;context)</code></th>
<td class="colLast">
<div class="block">Selects objects using provided context.</div>
</td>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="type parameter in SQLSelect">T</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#selectFirst(org.apache.cayenne.ObjectContext)">selectFirst</a></span>&#8203;(<a href="../ObjectContext.html" title="interface in org.apache.cayenne">ObjectContext</a>&nbsp;context)</code></th>
<td class="colLast">
<div class="block">Selects a single object using provided context.</div>
</td>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="type parameter in SQLSelect">T</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#selectOne(org.apache.cayenne.ObjectContext)">selectOne</a></span>&#8203;(<a href="../ObjectContext.html" title="interface in org.apache.cayenne">ObjectContext</a>&nbsp;context)</code></th>
<td class="colLast">
<div class="block">Selects a single object using provided context.</div>
</td>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sharedCache()">sharedCache</a></span>()</code></th>
<td class="colLast">
<div class="block">Instructs Cayenne to look for query results in the "shared" cache when
running the query.</div>
</td>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sharedCache(java.lang.String)">sharedCache</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;cacheGroup)</code></th>
<td class="colLast">
<div class="block">Instructs Cayenne to look for query results in the "shared" cache when
running the query.</div>
</td>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#statementFetchSize(int)">statementFetchSize</a></span>&#8203;(int&nbsp;size)</code></th>
<td class="colLast">
<div class="block">Sets JDBC statement's fetch size (0 for no default size)</div>
</td>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><code><a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#upperColumnNames()">upperColumnNames</a></span>()</code></th>
<td class="colLast">
<div class="block">Equivalent of setting <a href="CapsStrategy.html#UPPER"><code>CapsStrategy.UPPER</code></a></div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.cayenne.query.IndirectQuery">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.cayenne.query.<a href="IndirectQuery.html" title="class in org.apache.cayenne.query">IndirectQuery</a></h3>
<code><a href="IndirectQuery.html#createSQLAction(org.apache.cayenne.query.SQLActionVisitor)">createSQLAction</a>, <a href="IndirectQuery.html#getMetaData(org.apache.cayenne.map.EntityResolver)">getMetaData</a>, <a href="IndirectQuery.html#getReplacementQuery(org.apache.cayenne.map.EntityResolver)">getReplacementQuery</a>, <a href="IndirectQuery.html#route(org.apache.cayenne.query.QueryRouter,org.apache.cayenne.map.EntityResolver,org.apache.cayenne.query.Query)">route</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="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" class="externalLink">Object</a></h3>
<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" class="externalLink">clone</a>, <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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.cayenne.query.Query">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.cayenne.query.<a href="Query.html" title="interface in org.apache.cayenne.query">Query</a></h3>
<code><a href="Query.html#createSQLAction(org.apache.cayenne.query.SQLActionVisitor)">createSQLAction</a>, <a href="Query.html#getMetaData(org.apache.cayenne.map.EntityResolver)">getMetaData</a>, <a href="Query.html#route(org.apache.cayenne.query.QueryRouter,org.apache.cayenne.map.EntityResolver,org.apache.cayenne.query.Query)">route</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="persistentType">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>persistentType</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt; persistentType</pre>
</li>
</ul>
<a id="dataMapName">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dataMapName</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" class="externalLink">String</a> dataMapName</pre>
</li>
</ul>
<a id="sqlBuffer">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sqlBuffer</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html?is-external=true" title="class or interface in java.lang" class="externalLink">StringBuilder</a> sqlBuffer</pre>
</li>
</ul>
<a id="cacheStrategy">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cacheStrategy</h4>
<pre>protected&nbsp;<a href="QueryCacheStrategy.html" title="enum in org.apache.cayenne.query">QueryCacheStrategy</a> cacheStrategy</pre>
</li>
</ul>
<a id="cacheGroup">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cacheGroup</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" class="externalLink">String</a> cacheGroup</pre>
</li>
</ul>
<a id="params">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>params</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" class="externalLink">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" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt; params</pre>
</li>
</ul>
<a id="positionalParams">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>positionalParams</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt; positionalParams</pre>
</li>
</ul>
<a id="columnNameCaps">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>columnNameCaps</h4>
<pre>protected&nbsp;<a href="CapsStrategy.html" title="enum in org.apache.cayenne.query">CapsStrategy</a> columnNameCaps</pre>
</li>
</ul>
<a id="limit">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>limit</h4>
<pre>protected&nbsp;int limit</pre>
</li>
</ul>
<a id="offset">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>offset</h4>
<pre>protected&nbsp;int offset</pre>
</li>
</ul>
<a id="pageSize">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pageSize</h4>
<pre>protected&nbsp;int pageSize</pre>
</li>
</ul>
<a id="statementFetchSize">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>statementFetchSize</h4>
<pre>protected&nbsp;int statementFetchSize</pre>
</li>
</ul>
<a id="queryTimeout">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>queryTimeout</h4>
<pre>protected&nbsp;int queryTimeout</pre>
</li>
</ul>
<a id="prefetches">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>prefetches</h4>
<pre>protected&nbsp;<a href="PrefetchTreeNode.html" title="class in org.apache.cayenne.query">PrefetchTreeNode</a> prefetches</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SQLSelect</h4>
<pre>public&nbsp;SQLSelect&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql)</pre>
</li>
</ul>
<a id="&lt;init&gt;(java.lang.Class,java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SQLSelect</h4>
<pre>public&nbsp;SQLSelect&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;persistentType,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql)</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="dataRowQuery(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dataRowQuery</h4>
<pre class="methodSignature">public static&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="../DataRow.html" title="class in org.apache.cayenne">DataRow</a>&gt;&nbsp;dataRowQuery&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql)</pre>
<div class="block">Creates a query that selects DataRows and uses default routing.</div>
</li>
</ul>
<a id="dataRowQuery(java.lang.String,java.lang.Class...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dataRowQuery</h4>
<pre class="methodSignature">public static&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="../DataRow.html" title="class in org.apache.cayenne">DataRow</a>&gt;&nbsp;dataRowQuery&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;?&gt;...&nbsp;types)</pre>
<div class="block">Creates a query that selects DataRows and uses default routing.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.1</dd>
</dl>
</li>
</ul>
<a id="dataRowQuery(java.lang.String,java.lang.String,java.lang.Class...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dataRowQuery</h4>
<pre class="methodSignature">public static&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="../DataRow.html" title="class in org.apache.cayenne">DataRow</a>&gt;&nbsp;dataRowQuery&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;dataMapName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;?&gt;...&nbsp;types)</pre>
<div class="block">Creates a query that selects DataRows and uses routing based on the
provided DataMap name.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.1</dd>
</dl>
</li>
</ul>
<a id="dataRowQuery(java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dataRowQuery</h4>
<pre class="methodSignature">public static&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="../DataRow.html" title="class in org.apache.cayenne">DataRow</a>&gt;&nbsp;dataRowQuery&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;dataMapName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql)</pre>
<div class="block">Creates a query that selects DataRows and uses routing based on the
provided DataMap name.</div>
</li>
</ul>
<a id="query(java.lang.Class,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>query</h4>
<pre class="methodSignature">public static&nbsp;&lt;T&gt;&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;T&gt;&nbsp;query&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;T&gt;&nbsp;type,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql)</pre>
<div class="block">Creates a query that selects DataObjects.</div>
</li>
</ul>
<a id="scalarQuery(java.lang.Class,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scalarQuery</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
public static&nbsp;&lt;T&gt;&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;T&gt;&nbsp;scalarQuery&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;T&gt;&nbsp;type,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 4.2. Use <a href="#scalarQuery(java.lang.String,java.lang.Class)"><code>scalarQuery(String, Class)</code></a> method.</div>
</div>
<div class="block">Creates a query that selects scalar values and uses default routing.</div>
</li>
</ul>
<a id="scalarQuery(java.lang.Class,java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scalarQuery</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
public static&nbsp;&lt;T&gt;&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;T&gt;&nbsp;scalarQuery&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;T&gt;&nbsp;type,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;dataMapName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 4.2. Use <a href="#scalarQuery(java.lang.String,java.lang.String,java.lang.Class)"><code>scalarQuery(String, String, Class)</code></a> method.</div>
</div>
<div class="block">Creates a query that selects scalar values and uses routing based on the
provided DataMap name.</div>
</li>
</ul>
<a id="scalarQuery(java.lang.String,java.lang.Class)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scalarQuery</h4>
<pre class="methodSignature">public static&nbsp;&lt;T&gt;&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;T&gt;&nbsp;scalarQuery&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;T&gt;&nbsp;type)</pre>
<div class="block">Creates query that selects scalar value and uses default routing</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.1</dd>
</dl>
</li>
</ul>
<a id="scalarQuery(java.lang.String,java.lang.String,java.lang.Class)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scalarQuery</h4>
<pre class="methodSignature">public static&nbsp;&lt;T&gt;&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;T&gt;&nbsp;scalarQuery&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;dataMapName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;T&gt;&nbsp;type)</pre>
<div class="block">Creates query that selects scalar value and uses default routing</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.1</dd>
</dl>
</li>
</ul>
<a id="scalarQuery(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scalarQuery</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
public static&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>[]&gt;&nbsp;scalarQuery&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 4.2. Use <a href="#columnQuery(java.lang.String)"><code>columnQuery(String)</code></a></div>
</div>
<div class="block">Creates query that selects scalar value and uses default routing</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.1</dd>
</dl>
</li>
</ul>
<a id="columnQuery(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>columnQuery</h4>
<pre class="methodSignature">public static&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>[]&gt;&nbsp;columnQuery&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql)</pre>
<div class="block">Creates query that selects scalar values (as Object[]) and uses default routing</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.2</dd>
</dl>
</li>
</ul>
<a id="scalarQuery(java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scalarQuery</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
public static&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>[]&gt;&nbsp;scalarQuery&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;dataMapName)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 4.2. Use <a href="#columnQuery(java.lang.String,java.lang.String)"><code>columnQuery(String, String)</code></a></div>
</div>
<div class="block">Creates query that selects scalar values (as Object[]) and uses routing based on the
provided DataMap name.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.1</dd>
</dl>
</li>
</ul>
<a id="columnQuery(java.lang.String,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>columnQuery</h4>
<pre class="methodSignature">public static&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>[]&gt;&nbsp;columnQuery&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;dataMapName)</pre>
<div class="block">Creates query that selects scalar values (as Object[]) and uses routing based on the
provided DataMap name.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.2</dd>
</dl>
</li>
</ul>
<a id="scalarQuery(java.lang.String,java.lang.Class...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scalarQuery</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
public static&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>[]&gt;&nbsp;scalarQuery&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;?&gt;...&nbsp;types)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 4.2. Use <a href="#columnQuery(java.lang.String,java.lang.Class...)"><code>columnQuery(String, Class...)</code></a></div>
</div>
<div class="block">Creates query that selects scalar values (as Object[]) and uses default routing</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.1</dd>
</dl>
</li>
</ul>
<a id="columnQuery(java.lang.String,java.lang.Class...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>columnQuery</h4>
<pre class="methodSignature">public static&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>[]&gt;&nbsp;columnQuery&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;?&gt;...&nbsp;types)</pre>
<div class="block">Creates query that selects scalar values (as Object[]) and uses default routing</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.2</dd>
</dl>
</li>
</ul>
<a id="scalarQuery(java.lang.String,java.lang.String,java.lang.Class...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scalarQuery</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
public static&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>[]&gt;&nbsp;scalarQuery&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;dataMapName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;?&gt;...&nbsp;types)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 4.2. Use <a href="#columnQuery(java.lang.String,java.lang.String,java.lang.Class...)"><code>columnQuery(String, String, Class...)</code></a></div>
</div>
<div class="block">Creates query that selects scalar values (as Object[]) and uses routing based on the
provided DataMap name.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.1</dd>
</dl>
</li>
</ul>
<a id="columnQuery(java.lang.String,java.lang.String,java.lang.Class...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>columnQuery</h4>
<pre class="methodSignature">public static&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>[]&gt;&nbsp;columnQuery&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sql,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;dataMapName,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;?&gt;...&nbsp;types)</pre>
<div class="block">Creates query that selects scalar values (as Object[]) and uses routing based on the
provided DataMap name.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.2</dd>
</dl>
</li>
</ul>
<a id="select(org.apache.cayenne.ObjectContext)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>select</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;select&#8203;(<a href="../ObjectContext.html" title="interface in org.apache.cayenne">ObjectContext</a>&nbsp;context)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="Select.html#select(org.apache.cayenne.ObjectContext)">Select</a></code></span></div>
<div class="block">Selects objects using provided context.
<p>
Essentially the inversion of "ObjectContext.select(Select)".</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="Select.html#select(org.apache.cayenne.ObjectContext)">select</a></code>&nbsp;in interface&nbsp;<code><a href="Select.html" title="interface in org.apache.cayenne.query">Select</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="selectOne(org.apache.cayenne.ObjectContext)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>selectOne</h4>
<pre class="methodSignature">public&nbsp;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&nbsp;selectOne&#8203;(<a href="../ObjectContext.html" title="interface in org.apache.cayenne">ObjectContext</a>&nbsp;context)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="Select.html#selectOne(org.apache.cayenne.ObjectContext)">Select</a></code></span></div>
<div class="block">Selects a single object using provided context. The query is expected to
match zero or one object. It returns null if no objects were matched. If
query matched more than one object,
<a href="../CayenneRuntimeException.html" title="class in org.apache.cayenne"><code>CayenneRuntimeException</code></a> is thrown.
<p>
Essentially the inversion of "ObjectContext.selectOne(Select)".</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="Select.html#selectOne(org.apache.cayenne.ObjectContext)">selectOne</a></code>&nbsp;in interface&nbsp;<code><a href="Select.html" title="interface in org.apache.cayenne.query">Select</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="selectFirst(org.apache.cayenne.ObjectContext)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>selectFirst</h4>
<pre class="methodSignature">public&nbsp;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&nbsp;selectFirst&#8203;(<a href="../ObjectContext.html" title="interface in org.apache.cayenne">ObjectContext</a>&nbsp;context)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="Select.html#selectFirst(org.apache.cayenne.ObjectContext)">Select</a></code></span></div>
<div class="block">Selects a single object using provided context. The query itself can
match any number of objects, but will return only the first one. It
returns null if no objects were matched.
<p>
If it matched more than one object, the first object from the list is
returned. This makes 'selectFirst' different from
<a href="Select.html#selectOne(org.apache.cayenne.ObjectContext)"><code>Select.selectOne(ObjectContext)</code></a>, which would throw in this situation.
'selectFirst' is useful e.g. when the query is ordered and we only want
to see the first object (e.g. "most recent news article"), etc.
<p>
Selecting the first object via "Select.selectFirst(ObjectContext)" is
more comprehensible than selecting via
"ObjectContext.selectFirst(Select)", because implementations of "Select"
set fetch size limit to one.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="Select.html#selectFirst(org.apache.cayenne.ObjectContext)">selectFirst</a></code>&nbsp;in interface&nbsp;<code><a href="Select.html" title="interface in org.apache.cayenne.query">Select</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="iterate(org.apache.cayenne.ObjectContext,org.apache.cayenne.ResultIteratorCallback)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>iterate</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;iterate&#8203;(<a href="../ObjectContext.html" title="interface in org.apache.cayenne">ObjectContext</a>&nbsp;context,
<a href="../ResultIteratorCallback.html" title="interface in org.apache.cayenne">ResultIteratorCallback</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;callback)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="Select.html#iterate(org.apache.cayenne.ObjectContext,org.apache.cayenne.ResultIteratorCallback)">Select</a></code></span></div>
<div class="block">Creates a ResultIterator based on the provided context and passes it to a
callback for processing. The caller does not need to worry about closing
the iterator. This method takes care of it.
<p>
Essentially the inversion of
"ObjectContext.iterate(Select, ResultIteratorCallback)".</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="Select.html#iterate(org.apache.cayenne.ObjectContext,org.apache.cayenne.ResultIteratorCallback)">iterate</a></code>&nbsp;in interface&nbsp;<code><a href="Select.html" title="interface in org.apache.cayenne.query">Select</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="iterator(org.apache.cayenne.ObjectContext)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>iterator</h4>
<pre class="methodSignature">public&nbsp;<a href="../ResultIterator.html" title="interface in org.apache.cayenne">ResultIterator</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;iterator&#8203;(<a href="../ObjectContext.html" title="interface in org.apache.cayenne">ObjectContext</a>&nbsp;context)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="Select.html#iterator(org.apache.cayenne.ObjectContext)">Select</a></code></span></div>
<div class="block">Creates a ResultIterator based on the provided context. It is usually
backed by an open result set and is useful for processing of large data
sets, preserving a constant memory footprint. The caller must wrap
iteration in try/finally (or try-with-resources for Java 1.7 and higher)
and close the ResultIterator explicitly. Or use
<a href="Select.html#iterate(org.apache.cayenne.ObjectContext,org.apache.cayenne.ResultIteratorCallback)"><code>Select.iterate(ObjectContext, ResultIteratorCallback)</code></a> as an
alternative.
<p>
Essentially the inversion of "ObjectContext.iterator(Select)".</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="Select.html#iterator(org.apache.cayenne.ObjectContext)">iterator</a></code>&nbsp;in interface&nbsp;<code><a href="Select.html" title="interface in org.apache.cayenne.query">Select</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="batchIterator(org.apache.cayenne.ObjectContext,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>batchIterator</h4>
<pre class="methodSignature">public&nbsp;<a href="../ResultBatchIterator.html" title="class in org.apache.cayenne">ResultBatchIterator</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;batchIterator&#8203;(<a href="../ObjectContext.html" title="interface in org.apache.cayenne">ObjectContext</a>&nbsp;context,
int&nbsp;size)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="Select.html#batchIterator(org.apache.cayenne.ObjectContext,int)">Select</a></code></span></div>
<div class="block">Creates a ResultBatchIterator based on the provided context and batch
size. It is usually backed by an open result set and is useful for
processing of large data sets, preserving a constant memory footprint.
The caller must wrap iteration in try/finally (or try-with-resources for
Java 1.7 and higher) and close the ResultBatchIterator explicitly.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="Select.html#batchIterator(org.apache.cayenne.ObjectContext,int)">batchIterator</a></code>&nbsp;in interface&nbsp;<code><a href="Select.html" title="interface in org.apache.cayenne.query">Select</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="isFetchingDataRows()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isFetchingDataRows</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isFetchingDataRows()</pre>
</li>
</ul>
<a id="getSql()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSql</h4>
<pre class="methodSignature">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" class="externalLink">String</a>&nbsp;getSql()</pre>
</li>
</ul>
<a id="append(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>append</h4>
<pre class="methodSignature">public&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;append&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;sqlChunk)</pre>
<div class="block">Appends a piece of SQL to the previously stored SQL template.</div>
</li>
</ul>
<a id="params(java.lang.String,java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>params</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
public&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;params&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;value)</pre>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">since 4.2
Use <a href="#param(java.lang.String,java.lang.Object)"><code>param(String, Object)</code></a></div>
</div>
</li>
</ul>
<a id="param(java.lang.String,java.lang.Object)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>param</h4>
<pre class="methodSignature">public&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;param&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;value)</pre>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.2</dd>
</dl>
</li>
</ul>
<a id="params(java.util.Map)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>params</h4>
<pre class="methodSignature">public&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;params&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">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" class="externalLink">String</a>,&#8203;?&gt;&nbsp;parameters)</pre>
</li>
</ul>
<a id="paramsArray(java.lang.Object...)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>paramsArray</h4>
<pre class="methodSignature">public&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;paramsArray&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>...&nbsp;params)</pre>
<div class="block">Initializes positional parameters of the query. Parameters are bound in
the order they are found in the SQL template. If a given parameter name
is used more than once, only the first occurrence is treated as
"position", subsequent occurrences are bound with the same value as the
first one. If template parameters count is different from the array
parameter count, an exception will be thrown.
<p>
Note that calling this method will reset any previously set *named*
parameters.</div>
</li>
</ul>
<a id="paramsList(java.util.List)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>paramsList</h4>
<pre class="methodSignature">public&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;paramsList&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt;&nbsp;params)</pre>
<div class="block">Initializes positional parameters of the query. Parameters are bound in
the order they are found in the SQL template. If a given parameter name
is used more than once, only the first occurrence is treated as
"position", subsequent occurrences are bound with the same value as the
first one. If template parameters count is different from the list
parameter count, an exception will be thrown.
<p>
Note that calling this method will reset any previously set *named*
parameters.</div>
</li>
</ul>
<a id="getParams()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParams</h4>
<pre class="methodSignature">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" class="externalLink">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" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt;&nbsp;getParams()</pre>
<div class="block">Returns a potentially immmutable map of named parameters that will be
bound to SQL.</div>
</li>
</ul>
<a id="getPositionalParams()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPositionalParams</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt;&nbsp;getPositionalParams()</pre>
<div class="block">Returns a potentially immmutable list of positional parameters that will
be bound to SQL.</div>
</li>
</ul>
<a id="createReplacementQuery(org.apache.cayenne.map.EntityResolver)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createReplacementQuery</h4>
<pre class="methodSignature">protected&nbsp;<a href="Query.html" title="interface in org.apache.cayenne.query">Query</a>&nbsp;createReplacementQuery&#8203;(<a href="../map/EntityResolver.html" title="class in org.apache.cayenne.map">EntityResolver</a>&nbsp;resolver)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="IndirectQuery.html#createReplacementQuery(org.apache.cayenne.map.EntityResolver)">IndirectQuery</a></code></span></div>
<div class="block">Creates a substitute query. An implementor is free to provide an
arbitrary replacement query.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="IndirectQuery.html#createReplacementQuery(org.apache.cayenne.map.EntityResolver)">createReplacementQuery</a></code>&nbsp;in class&nbsp;<code><a href="IndirectQuery.html" title="class in org.apache.cayenne.query">IndirectQuery</a></code></dd>
</dl>
</li>
</ul>
<a id="localCache()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>localCache</h4>
<pre class="methodSignature">public&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;localCache()</pre>
<div class="block">Instructs Cayenne to look for query results in the "local" cache when
running the query. This is a short-hand notation for:
<pre>
query.cacheStrategy(QueryCacheStrategy.LOCAL_CACHE);
</pre></div>
</li>
</ul>
<a id="localCache(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>localCache</h4>
<pre class="methodSignature">public&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;localCache&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;cacheGroup)</pre>
<div class="block">Instructs Cayenne to look for query results in the "local" cache when
running the query. This is a short-hand notation for:
<pre>
query.cacheStrategy(QueryCacheStrategy.LOCAL_CACHE, cacheGroup);
</pre></div>
</li>
</ul>
<a id="sharedCache()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sharedCache</h4>
<pre class="methodSignature">public&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;sharedCache()</pre>
<div class="block">Instructs Cayenne to look for query results in the "shared" cache when
running the query. This is a short-hand notation for:
<pre>
query.cacheStrategy(QueryCacheStrategy.SHARED_CACHE);
</pre></div>
</li>
</ul>
<a id="sharedCache(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sharedCache</h4>
<pre class="methodSignature">public&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;sharedCache&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;cacheGroup)</pre>
<div class="block">Instructs Cayenne to look for query results in the "shared" cache when
running the query. This is a short-hand notation for:
<pre>
query.cacheStrategy(QueryCacheStrategy.SHARED_CACHE, cacheGroup);
</pre></div>
</li>
</ul>
<a id="getCacheStrategy()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCacheStrategy</h4>
<pre class="methodSignature">public&nbsp;<a href="QueryCacheStrategy.html" title="enum in org.apache.cayenne.query">QueryCacheStrategy</a>&nbsp;getCacheStrategy()</pre>
</li>
</ul>
<a id="cacheStrategy(org.apache.cayenne.query.QueryCacheStrategy)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cacheStrategy</h4>
<pre class="methodSignature">public&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;cacheStrategy&#8203;(<a href="QueryCacheStrategy.html" title="enum in org.apache.cayenne.query">QueryCacheStrategy</a>&nbsp;strategy)</pre>
</li>
</ul>
<a id="cacheStrategy(org.apache.cayenne.query.QueryCacheStrategy,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cacheStrategy</h4>
<pre class="methodSignature">public&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;cacheStrategy&#8203;(<a href="QueryCacheStrategy.html" title="enum in org.apache.cayenne.query">QueryCacheStrategy</a>&nbsp;strategy,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;cacheGroup)</pre>
</li>
</ul>
<a id="getCacheGroup()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCacheGroup</h4>
<pre class="methodSignature">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" class="externalLink">String</a>&nbsp;getCacheGroup()</pre>
</li>
</ul>
<a id="cacheGroup(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cacheGroup</h4>
<pre class="methodSignature">public&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;cacheGroup&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;cacheGroup)</pre>
</li>
</ul>
<a id="getColumnNameCaps()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getColumnNameCaps</h4>
<pre class="methodSignature">public&nbsp;<a href="CapsStrategy.html" title="enum in org.apache.cayenne.query">CapsStrategy</a>&nbsp;getColumnNameCaps()</pre>
<div class="block">Returns a column name capitalization policy applied to selecting queries.
This is used to simplify mapping of the queries like "SELECT * FROM ...",
ensuring that a chosen Cayenne column mapping strategy (e.g. all column
names in uppercase) is portable across database engines that can have
varying default capitalization. Default (null) value indicates that
column names provided in result set are used unchanged.</div>
</li>
</ul>
<a id="columnNameCaps(org.apache.cayenne.query.CapsStrategy)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>columnNameCaps</h4>
<pre class="methodSignature">public&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;columnNameCaps&#8203;(<a href="CapsStrategy.html" title="enum in org.apache.cayenne.query">CapsStrategy</a>&nbsp;columnNameCaps)</pre>
<div class="block">Sets a column name capitalization policy applied to selecting queries.
This is used to simplify mapping of the queries like "SELECT * FROM ...",
ensuring that a chosen Cayenne column mapping strategy (e.g. all column
names in uppercase) is portable across database engines that can have
varying default capitalization. Default (null) value indicates that
column names provided in result set are used unchanged.
<p>
Note that while a non-default setting is useful for queries that do not
rely on a #result directive to describe columns, it works for all
SQLTemplates the same way.</div>
</li>
</ul>
<a id="upperColumnNames()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>upperColumnNames</h4>
<pre class="methodSignature">public&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;upperColumnNames()</pre>
<div class="block">Equivalent of setting <a href="CapsStrategy.html#UPPER"><code>CapsStrategy.UPPER</code></a></div>
</li>
</ul>
<a id="lowerColumnNames()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lowerColumnNames</h4>
<pre class="methodSignature">public&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;lowerColumnNames()</pre>
<div class="block">Equivalent of setting <a href="CapsStrategy.html#LOWER"><code>CapsStrategy.LOWER</code></a></div>
</li>
</ul>
<a id="getLimit()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLimit</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getLimit()</pre>
</li>
</ul>
<a id="limit(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>limit</h4>
<pre class="methodSignature">public&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;limit&#8203;(int&nbsp;fetchLimit)</pre>
</li>
</ul>
<a id="getOffset()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOffset</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getOffset()</pre>
</li>
</ul>
<a id="offset(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>offset</h4>
<pre class="methodSignature">public&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;offset&#8203;(int&nbsp;fetchOffset)</pre>
</li>
</ul>
<a id="getPageSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPageSize</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getPageSize()</pre>
</li>
</ul>
<a id="pageSize(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>pageSize</h4>
<pre class="methodSignature">public&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;pageSize&#8203;(int&nbsp;pageSize)</pre>
</li>
</ul>
<a id="statementFetchSize(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>statementFetchSize</h4>
<pre class="methodSignature">public&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;statementFetchSize&#8203;(int&nbsp;size)</pre>
<div class="block">Sets JDBC statement's fetch size (0 for no default size)</div>
</li>
</ul>
<a id="queryTimeout(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>queryTimeout</h4>
<pre class="methodSignature">public&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;queryTimeout&#8203;(int&nbsp;queryTimeout)</pre>
<div class="block">Sets query timeout</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.2</dd>
</dl>
</li>
</ul>
<a id="getStatementFetchSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStatementFetchSize</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getStatementFetchSize()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>JBDC statement's fetch size</dd>
</dl>
</li>
</ul>
<a id="getQueryTimeout()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getQueryTimeout</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getQueryTimeout()</pre>
</li>
</ul>
<a id="addPrefetch(java.lang.String,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addPrefetch</h4>
<pre class="methodSignature">public&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;addPrefetch&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;path,
int&nbsp;semantics)</pre>
<div class="block">Merges a prefetch path with specified semantics into the query prefetch tree.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>path</code> - Path expression</dd>
<dd><code>semantics</code> - Defines a strategy to prefetch relationships. See <a href="PrefetchTreeNode.html" title="class in org.apache.cayenne.query"><code>PrefetchTreeNode</code></a></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this object</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.1</dd>
</dl>
</li>
</ul>
<a id="addPrefetch(org.apache.cayenne.query.PrefetchTreeNode)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addPrefetch</h4>
<pre class="methodSignature">public&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>&gt;&nbsp;addPrefetch&#8203;(<a href="PrefetchTreeNode.html" title="class in org.apache.cayenne.query">PrefetchTreeNode</a>&nbsp;node)</pre>
<div class="block">Merges a prefetch into the query prefetch tree.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - Prefetch which will added to query prefetch tree</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this object</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.1</dd>
</dl>
</li>
</ul>
<a id="map(java.util.function.Function)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>map</h4>
<pre class="methodSignature">public&nbsp;&lt;E&gt;&nbsp;<a href="SQLSelect.html" title="class in org.apache.cayenne.query">SQLSelect</a>&lt;E&gt;&nbsp;map&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function" class="externalLink">Function</a>&lt;<a href="SQLSelect.html" title="type parameter in SQLSelect">T</a>,&#8203;E&gt;&nbsp;mapper)</pre>
<div class="block">Map result of this query by processing with a given function.
<br/>
Could be used to map plain Object[] to some domain-specific object.
<br/>
<b>Note:</b> this method could be called multiple time, result will be mapped by all functions in the call order.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>E</code> - new result type</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>mapper</code> - function that maps result to the required type.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this query with changed result type</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.2</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="ColumnSelect.html#map(java.util.function.Function)"><code>ColumnSelect.map(Function)</code></a></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SQLSelect.html">Use</a></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"><a href="http://cayenne.apache.org" target="top">Apache Cayenne</a></div>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</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 id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2022 <a href="https://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
</footer>
</body>
</html>