JPA-Abfragen
JPA-Abfragen: Ableitung über Methodennamen, @Query mit JPQL, native Abfragen, Paginierung, Sortierung
1Was ist JPQL?
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.
2Welche Annotation ermöglicht das Ausführen einer benutzerdefinierten JPQL- oder SQL-Abfrage?
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.
3Wie bindet man einen Methodenparameter an eine @Query?
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.
Welche Klausel ermöglicht in JPQL das Filtern von Ergebnissen?
Was ist der Hauptunterschied zwischen JPQL und nativem SQL?
+27 Interview-Fragen
Weitere Spring Boot-Interviewthemen
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging mit SLF4J und Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Ausnahmebehandlung
Bean Validation
Spring Data JPA Grundlagen
JPA-Entitäten und Beziehungen
Spring Data Repositories
Spring Security Grundlagen
Spring Boot Actuator
Unit-Tests mit JUnit & Mockito
Spring Boot Testing
Profiles und Environment
RestTemplate und WebClient
Async & Scheduling
Caching mit Spring
Spring WebFlux (Reactive)
Spring-Transaktionen
Erweiterte Authentifizierung und Autorisierung
JWT & Stateless-Sicherheit
OAuth2 & Authorization Server
Spring Boot und Docker
Microservices mit Spring
Spring Cloud Config
Performance-Optimierung
GraalVM Native Images
Meistere Spring Boot für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten