Spring Boot

JPA-Abfragen

JPA-Abfragen: Ableitung über Methodennamen, @Query mit JPQL, native Abfragen, Paginierung, Sortierung

30 Interview-Fragen·
Mid-Level
1

Was ist JPQL?

Antwort

JPQL (Java Persistence Query Language) ist eine objektorientierte Sprache, die JPA-Entitäten statt Datenbanktabellen abfragt. Anders als natives SQL verwendet JPQL Klassen- und Eigenschaftsnamen, wodurch die Objektabstraktion erhalten bleibt und die Portabilität zwischen verschiedenen Datenbanksystemen erleichtert wird. JPQL sollte standardmäßig verwendet werden, sofern keine spezifischen SQL-Funktionen erforderlich sind.

2

Welche Annotation ermöglicht das Ausführen einer benutzerdefinierten JPQL- oder SQL-Abfrage?

Antwort

Die Annotation @Query ermöglicht das Definieren benutzerdefinierter Abfragen direkt in Spring-Data-JPA-Repositories. Sie kann standardmäßig JPQL enthalten oder natives SQL, wenn das Attribut nativeQuery auf true gesetzt ist. Diese Annotation bietet mehr Flexibilität als aus dem Methodennamen abgeleitete Query-Methoden, insbesondere für komplexe Abfragen mit Joins oder Subqueries.

3

Wie bindet man einen Methodenparameter an eine @Query?

Antwort

Die Annotation @Param ermöglicht das explizite Benennen von Parametern, die in @Query-Abfragen verwendet werden. Dieser Ansatz ist lesbarer und robuster als die Verwendung von indizierten Positionen, insbesondere beim Refactoring des Codes. Die Annotation ist für benannte Parameter in JPQL zwingend erforderlich und wird zur Verbesserung der Wartbarkeit auch für native SQL-Abfragen empfohlen.

4

Welche Klausel ermöglicht in JPQL das Filtern von Ergebnissen?

5

Was ist der Hauptunterschied zwischen JPQL und nativem SQL?

+27 Interview-Fragen

Meistere Spring Boot für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten