<html><head>
      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
   <title>6.&nbsp; Query Factory</title><link rel="stylesheet" href="css/docbook.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.72.0"><link rel="start" href="manual.html" title="Apache OpenJPA 1.2 User's Guide"><link rel="up" href="jpa_overview_em.html" title="Chapter&nbsp;8.&nbsp; EntityManager"><link rel="prev" href="jpa_overview_em_cache.html" title="5.&nbsp; Cache Management"><link rel="next" href="jpa_overview_em_closing.html" title="7.&nbsp; Closing"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">6.&nbsp;
            Query Factory
        </th></tr><tr><td width="20%" align="left"><a accesskey="p" href="jpa_overview_em_cache.html">Prev</a>&nbsp;</td><th width="60%" align="center">Chapter&nbsp;8.&nbsp;
        EntityManager
    </th><td width="20%" align="right">&nbsp;<a accesskey="n" href="jpa_overview_em_closing.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="jpa_overview_em_query"></a>6.&nbsp;
            Query Factory
        </h2></div></div></div><a class="indexterm" name="d0e5332"></a><a class="indexterm" name="d0e5339"></a><pre class="programlisting">
public Query createQuery(String query);
</pre><p>
<code class="classname">Query</code> objects are used to find entities matching certain
criteria. The <code class="methodname">createQuery</code> method creates a query using
the given Java Persistence Query Language (JPQL) string. See
<a href="jpa_overview_query.html" title="Chapter&nbsp;10.&nbsp; JPA Query">Chapter&nbsp;10, <i xmlns:xlink="http://www.w3.org/1999/xlink">
        JPA Query
    </i></a> for details.
        </p><pre class="programlisting">
public Query createNamedQuery(String name);
</pre><p>
This method retrieves a query defined in metadata by name. The returned
<code class="classname">Query</code> instance is initialized with the information
declared in metadata. For more information on named queries, read
<a href="jpa_overview_query.html#jpa_overview_query_named" title="1.10.&nbsp; Named Queries">Section&nbsp;1.10, &#8220;
                Named Queries
            &#8221;</a>.
        </p><pre class="programlisting">
public Query createNativeQuery(String sql);
public Query createNativeQuery(String sql, Class resultCls);
public Query createNativeQuery(String sql, String resultMapping);
</pre><p>
<span class="emphasis"><em>Native</em></span> queries are queries in the datastore's native
language. For relational databases, this the Structured Query Language (SQL).
<a href="jpa_overview_sqlquery.html" title="Chapter&nbsp;11.&nbsp; SQL Queries">Chapter&nbsp;11, <i xmlns:xlink="http://www.w3.org/1999/xlink">
        SQL Queries
    </i></a> elaborates on JPA's
native query support.
        </p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="jpa_overview_em_cache.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="jpa_overview_em.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="jpa_overview_em_closing.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">5.&nbsp;
            Cache Management
        &nbsp;</td><td width="20%" align="center"><a accesskey="h" href="manual.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;7.&nbsp;
            Closing
        </td></tr></table></div></body></html>