blob: 84dec7f1c8b7fc011b250646037f8cec9810e5a8 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.9.0/javadoc/org/apache/ignite/springdata20/repository/config/Query.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">
<!-- Generated by javadoc (1.8.0_241) on Thu Oct 15 12:23:33 MSK 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Query (Ignite 2.9.0)</title>
<meta name="date" content="2020-10-15">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<link rel='shortcut icon' href='https://ignite.apache.org/favicon.ico'/>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-61232409-1', 'auto');
ga('send', 'pageview');
</script></head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Query (Ignite 2.9.0)";
}
}
catch(err) {
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Query.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>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/ignite/springdata20/repository/config/IgniteRepositoryConfigurationExtension.html" title="class in org.apache.ignite.springdata20.repository.config"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/ignite/springdata20/repository/config/RepositoryConfig.html" title="annotation in org.apache.ignite.springdata20.repository.config"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/ignite/springdata20/repository/config/Query.html" target="_top">Frames</a></li>
<li><a href="Query.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">Element</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.ignite.springdata20.repository.config</div>
<h2 title="Annotation Type Query" class="title">Annotation Type Query</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Documented.html?is-external=true" title="class or interface in java.lang.annotation">@Documented</a>
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Retention.html?is-external=true" title="class or interface in java.lang.annotation">@Retention</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Retention.html?is-external=true#value--" title="class or interface in java.lang.annotation">value</a>=<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/RetentionPolicy.html?is-external=true#RUNTIME" title="class or interface in java.lang.annotation">RUNTIME</a>)
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Target.html?is-external=true" title="class or interface in java.lang.annotation">@Target</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Target.html?is-external=true#value--" title="class or interface in java.lang.annotation">value</a>=<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/ElementType.html?is-external=true#METHOD" title="class or interface in java.lang.annotation">METHOD</a>)
public @interface <span class="memberNameLabel">Query</span></pre>
<div class="block">Annotation to provide a user defined query for a method.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.optional.element.summary">
<!-- -->
</a>
<h3>Optional Element Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Optional Element Summary table, listing optional elements, and an explanation">
<caption><span>Optional Elements</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Optional Element and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/springdata20/repository/config/Query.html#collocated--">collocated</a></span></code>
<div class="block">Sets flag defining if this query is collocated.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/springdata20/repository/config/Query.html#distributedJoins--">distributedJoins</a></span></code>
<div class="block">Specify if distributed joins are enabled for this query.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/springdata20/repository/config/Query.html#dynamicQuery--">dynamicQuery</a></span></code>
<div class="block">Specify whether the annotated method must provide a non null <a href="../../../../../../org/apache/ignite/springdata20/repository/config/DynamicQueryConfig.html" title="class in org.apache.ignite.springdata20.repository.config"><code>DynamicQueryConfig</code></a> parameter with a non
empty value (query string) or <a href="../../../../../../org/apache/ignite/springdata20/repository/config/DynamicQueryConfig.html#textQuery--"><code>DynamicQueryConfig.textQuery()</code></a> == true.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/springdata20/repository/config/Query.html#enforceJoinOrder--">enforceJoinOrder</a></span></code>
<div class="block">Sets flag to enforce join order of tables in the query.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/springdata20/repository/config/Query.html#forceFieldsQuery--">forceFieldsQuery</a></span></code>
<div class="block">Force SqlFieldsQuery type, deactivating auto-detection based on SELECT statement.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/springdata20/repository/config/Query.html#lazy--">lazy</a></span></code>
<div class="block">Sets lazy query execution flag.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/springdata20/repository/config/Query.html#limit--">limit</a></span></code>
<div class="block">Sets limit to response records count for TextQuery.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/springdata20/repository/config/Query.html#local--">local</a></span></code>
<div class="block">Sets whether this query should be executed on local node only.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/springdata20/repository/config/Query.html#parts--">parts</a></span></code>
<div class="block">Sets partitions for a query.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/springdata20/repository/config/Query.html#textQuery--">textQuery</a></span></code>
<div class="block">Whether annotated repository method must use TextQuery search.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/springdata20/repository/config/Query.html#timeout--">timeout</a></span></code>
<div class="block">Query timeout in millis.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/ignite/springdata20/repository/config/Query.html#value--">value</a></span></code>
<div class="block">Query text string.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="annotation.type.element.detail">
<!-- -->
</a>
<h3>Element Detail</h3>
<a name="value--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>value</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;value</pre>
<div class="block">Query text string. If not provided, Ignite query generator for Spring Data framework will be used to generate one
(only if textQuery = false (default))</div>
<dl>
<dt>Default:</dt>
<dd>""</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="textQuery--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>textQuery</h4>
<pre>public abstract&nbsp;boolean&nbsp;textQuery</pre>
<div class="block">Whether annotated repository method must use TextQuery search.</div>
<dl>
<dt>Default:</dt>
<dd>false</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="forceFieldsQuery--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>forceFieldsQuery</h4>
<pre>public abstract&nbsp;boolean&nbsp;forceFieldsQuery</pre>
<div class="block">Force SqlFieldsQuery type, deactivating auto-detection based on SELECT statement. Useful for non SELECT
statements or to not return hidden fields on SELECT * statements.</div>
<dl>
<dt>Default:</dt>
<dd>false</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="collocated--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>collocated</h4>
<pre>public abstract&nbsp;boolean&nbsp;collocated</pre>
<div class="block">Sets flag defining if this query is collocated.
<p>
Collocation flag is used for optimization purposes of queries with GROUP BY statements. Whenever Ignite executes
a distributed query, it sends sub-queries to individual cluster members. If you know in advance that the elements
of your query selection are collocated together on the same node and you group by collocated key (primary or
affinity key), then Ignite can make significant performance and network optimizations by grouping data on remote
nodes.
<p>
Only applicable to SqlFieldsQuery</div>
<dl>
<dt>Default:</dt>
<dd>false</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="timeout--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>timeout</h4>
<pre>public abstract&nbsp;int&nbsp;timeout</pre>
<div class="block">Query timeout in millis. Sets the query execution timeout. Query will be automatically cancelled if the execution
timeout is exceeded. Zero value disables timeout
<p>
Only applicable to SqlFieldsQuery and SqlQuery</div>
<dl>
<dt>Default:</dt>
<dd>0</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="enforceJoinOrder--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>enforceJoinOrder</h4>
<pre>public abstract&nbsp;boolean&nbsp;enforceJoinOrder</pre>
<div class="block">Sets flag to enforce join order of tables in the query. If set to <code>true</code> query optimizer will not reorder
tables in join. By default is <code>false</code>.
<p>
It is not recommended to enable this property until you are sure that your indexes and the query itself are
correct and tuned as much as possible but query optimizer still produces wrong join order.
<p>
Only applicable to SqlFieldsQuery</div>
<dl>
<dt>Default:</dt>
<dd>false</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="distributedJoins--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>distributedJoins</h4>
<pre>public abstract&nbsp;boolean&nbsp;distributedJoins</pre>
<div class="block">Specify if distributed joins are enabled for this query.
<p>
Only applicable to SqlFieldsQuery and SqlQuery</div>
<dl>
<dt>Default:</dt>
<dd>false</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="lazy--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lazy</h4>
<pre>public abstract&nbsp;boolean&nbsp;lazy</pre>
<div class="block">Sets lazy query execution flag.
<p>
By default Ignite attempts to fetch the whole query result set to memory and send it to the client. For small and
medium result sets this provides optimal performance and minimize duration of internal database locks, thus
increasing concurrency.
<p>
If result set is too big to fit in available memory this could lead to excessive GC pauses and even
OutOfMemoryError. Use this flag as a hint for Ignite to fetch result set lazily, thus minimizing memory
consumption at the cost of moderate performance hit.
<p>
Defaults to <code>false</code>, meaning that the whole result set is fetched to memory eagerly.
<p>
Only applicable to SqlFieldsQuery</div>
<dl>
<dt>Default:</dt>
<dd>false</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="local--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>local</h4>
<pre>public abstract&nbsp;boolean&nbsp;local</pre>
<div class="block">Sets whether this query should be executed on local node only.</div>
<dl>
<dt>Default:</dt>
<dd>false</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="parts--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parts</h4>
<pre>public abstract&nbsp;int[]&nbsp;parts</pre>
<div class="block">Sets partitions for a query. The query will be executed only on nodes which are primary for specified
partitions.
<p>
Note what passed array'll be sorted in place for performance reasons, if it wasn't sorted yet.
<p>
Only applicable to SqlFieldsQuery and SqlQuery</div>
<dl>
<dt>Default:</dt>
<dd>{}</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="dynamicQuery--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dynamicQuery</h4>
<pre>public abstract&nbsp;boolean&nbsp;dynamicQuery</pre>
<div class="block">Specify whether the annotated method must provide a non null <a href="../../../../../../org/apache/ignite/springdata20/repository/config/DynamicQueryConfig.html" title="class in org.apache.ignite.springdata20.repository.config"><code>DynamicQueryConfig</code></a> parameter with a non
empty value (query string) or <a href="../../../../../../org/apache/ignite/springdata20/repository/config/DynamicQueryConfig.html#textQuery--"><code>DynamicQueryConfig.textQuery()</code></a> == true.
<p>
Please, note that <a href="../../../../../../org/apache/ignite/springdata20/repository/config/DynamicQueryConfig.html#textQuery--"><code>DynamicQueryConfig.textQuery()</code></a> annotation parameters will be ignored in favor of those
defined in <a href="../../../../../../org/apache/ignite/springdata20/repository/config/DynamicQueryConfig.html" title="class in org.apache.ignite.springdata20.repository.config"><code>DynamicQueryConfig</code></a> parameter if present (runtime ignite query tuning).</div>
<dl>
<dt>Default:</dt>
<dd>false</dd>
</dl>
</li>
</ul>
</li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="limit--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>limit</h4>
<pre>public abstract&nbsp;int&nbsp;limit</pre>
<div class="block">Sets limit to response records count for TextQuery. If 0 or less, considered to be no limit.</div>
<dl>
<dt>Default:</dt>
<dd>0</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Query.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>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/ignite/springdata20/repository/config/IgniteRepositoryConfigurationExtension.html" title="class in org.apache.ignite.springdata20.repository.config"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/ignite/springdata20/repository/config/RepositoryConfig.html" title="annotation in org.apache.ignite.springdata20.repository.config"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/ignite/springdata20/repository/config/Query.html" target="_top">Frames</a></li>
<li><a href="Query.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Required&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#annotation.type.element.detail">Element</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><table width="100%" border="0" cellspacing=0 cellpadding=0 style="padding: 5px"> <tr> <td> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <a target=_blank href="https://ignite.apache.org"><nobr>2020 Copyright &#169; Apache Software Foundation</nobr></a> </td> </tr> </tbody> </table> </td> <td width="100%" align="right" valign="center"> <a href="https://twitter.com/ApacheIgnite" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @ApacheIgnite</a> </td> </tr> <tr> <td colspan="2" valign="top" align="left"> <table style="padding-left: 0; margin: 0"> <tbody style="padding: 0; margin: 0"> <tr style="padding: 0; margin: 0"> <td> <b>Ignite Database and Caching Platform</b> </td> <td>:&nbsp;&nbsp; ver. <strong>2.9.0</strong> </td> </tr> <tr style="padding: 0; margin: 0"> <td> <b>Release Date</b> </td> <td>:&nbsp;&nbsp; October 15 2020 </td> </tr> </tbody> </table> </td> </tr> </table></small></p>
</body>
</html>