Commit 28b2c6b8 authored by Jens Ehlers's avatar Jens Ehlers
Browse files

Merge remote-tracking branch 'origin/master'

parents 81a1fd6b e2b74b94
Pipeline #22080 passed with stage
in 1 minute and 6 seconds
......@@ -338,14 +338,14 @@ SELECT d.lead FROM Department d WHERE d.label = "Sales";</code></pre>
<p>Aus einer Java-Anwendung heraus kann JPQL in ungetypten Anfragen (<code>javax.persistence.Query</code>) oder getypten Anfragen (<code>javax.persistence.TypedQuery&lt;T></code>) verwendet werden. Bei getypten Anfragen entspricht die Rückgabe der JPQL-Anfrage einer vorab erstellten Klasse des objektorientierten Datenmodells. Bei einer ungetypten Anfrage ist der Typ der Rückgabe nicht definiert. Das folgende Code-Beispiel veranschaulicht eine ungetypte und eine getypte JQPL-Anfrage. Optional kann eine Anfrage parametrisiert werden (Zeilen 8-9) und hinsichtlich der Anzahl der zurückgegebenen Objekte beschränkt werden (Zeile 3). Wenn max. 1 Objekt in der Rückgabe erwartet wird, ist die Methode <code>getSingleResult</code> zu verwenden (Zeile 10), ansonsten die Methode <code>getResultList</code> (Zeile 4).</p>
<pre><code class="language-java line-numbers"> // Untyped query
<pre><code class="language-java line-numbers">// Untyped query
Query q = em.createQuery("SELECT p.id, p.name, p.department.label FROM Person p");
q.setMaxResults(100);
List&lt;Object[]> result = q.getResultList();
result.forEach(object -> System.out.println( Arrays.toString(object) ));
// Typed query
TypedQuery&lt;Person> q = em.createQuery(String jpql = "SELECT d.lead FROM Department d WHERE d.label = :dept", Person.class);
TypedQuery&lt;Person> q = em.createQuery("SELECT d.lead FROM Department d WHERE d.label = :dept", Person.class);
q.setParameter("dept", "Sales");
Person leadSales = q.getSingleResult();</code></pre>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment