Zapytania JPA
Zapytania JPA: wyprowadzanie z nazwy metody, @Query z JPQL, zapytania natywne, paginacja, sortowanie
1Czym jest JPQL?
Czym jest JPQL?
Odpowiedź
JPQL (Java Persistence Query Language) to język obiektowy, który odpytuje encje JPA, a nie tabele bazy danych. W przeciwieństwie do natywnego SQL, JPQL używa nazw klas i właściwości, co utrzymuje abstrakcję obiektową i ułatwia przenośność między różnymi systemami baz danych. Domyślnie należy używać JPQL, chyba że potrzebne są specyficzne funkcje SQL.
2Która adnotacja umożliwia wykonanie niestandardowego zapytania JPQL lub SQL?
Która adnotacja umożliwia wykonanie niestandardowego zapytania JPQL lub SQL?
Odpowiedź
Adnotacja @Query umożliwia definiowanie niestandardowych zapytań bezpośrednio w repozytoriach Spring Data JPA. Domyślnie może zawierać JPQL lub natywny SQL, jeśli atrybut nativeQuery jest ustawiony na true. Ta adnotacja oferuje większą elastyczność niż query methods wyprowadzone z nazwy metody, zwłaszcza w przypadku złożonych zapytań z joinami lub podzapytaniami.
3Jak powiązać parametr metody z zapytaniem @Query?
Jak powiązać parametr metody z zapytaniem @Query?
Odpowiedź
Adnotacja @Param umożliwia jawne nazywanie parametrów używanych w zapytaniach @Query. To podejście jest bardziej czytelne i odporne niż używanie pozycji indeksowanych, zwłaszcza podczas refaktoryzacji kodu. Adnotacja jest obowiązkowa dla parametrów nazwanych w JPQL i zalecana nawet w przypadku natywnych zapytań SQL, aby poprawić łatwość utrzymania.
W JPQL, która klauzula umożliwia filtrowanie wyników?
Jaka jest główna różnica między JPQL a natywnym SQL?
+27 pytań z rozmów
Inne tematy rekrutacyjne Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logowanie z SLF4J i Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Obsługa wyjątków
Bean Validation
Podstawy Spring Data JPA
Encje JPA i relacje
Spring Data Repositories
Podstawy Spring Security
Spring Boot Actuator
Testy jednostkowe z JUnit i Mockito
Testowanie Spring Boot
Profiles i Environment
RestTemplate i WebClient
Async i Scheduling
Caching ze Spring
Spring WebFlux (Reactive)
Transakcje Spring
Zaawansowane uwierzytelnianie i autoryzacja
JWT i bezpieczeństwo stateless
OAuth2 i Authorization Server
Spring Boot i Docker
Microservices ze Spring
Spring Cloud Config
Optymalizacja wydajności
GraalVM Native Images
Opanuj Spring Boot na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo