2016-04-20 7 views
3

Gibt es ein Äquivalent von "SELECT 1" oder "SELECT 1 FROM DUAL" für JPQL? Wie eine einfache Testanfrage.Gibt es eine "SELECT 1" in JPQL?

+1

um was zu erreichen? JPQL wählt Entitäten aus –

+0

Wählen Sie e aus Mitarbeiter e –

+0

Fragen Sie, ob Sie nur die erste Zeile auswählen können? –

Antwort

2

Ja, es gibt getResultList, die Abfrageergebnisse als eine nicht typisierte Liste zurückgibt. Und Sie können setMaxResults verwenden, ist es auf 1 zu beschränken:

query.setMaxResults(1).getResultList(); 

Oder sonst können Sie die folgende sagen, die ein einzelnes untypisierten Ergebnis zurückgibt:

query.getSingleResult() 

Die EntityManager API ermöglicht auch die Erzeugung von nativen Abfragen, die kann Ihre einfachste Ansatz sein:

entityManager.createNativeQuery("select 1 from sometable").getSingleResult(); 

Einzelheiten finden Sie http://docs.oracle.com/javaee/6/api/javax/persistence/Query.html.

+0

Danke J Waldmurmeltier! Ich bin überrascht, dass JPQL kein "SELECT 1" out of the box hat. Ich habe getSingleResult() versucht, aber es funktioniert nur mit einer nicht leeren Tabelle. Ich verwende zwei verschiedene Arten von Datenbanken für die Produktion und die Vorproduktion, daher kann ich die native Abfrage nicht ausführen, ohne herauszufinden, welcher Treiber (Oracle, H2 usw.) verwendet wird. Das habe ich versucht, aber ich habe viele Probleme mit dem Entity Manager und JPA bekommen – harryt

Verwandte Themen