Запити JPA
Запити JPA: виведення з імені методу, @Query з JPQL, нативні запити, пагінація, сортування
1Що таке JPQL?
Що таке JPQL?
Відповідь
JPQL (Java Persistence Query Language) — це об'єктно-орієнтована мова, яка запитує сутності JPA, а не таблиці бази даних. На відміну від нативного SQL, JPQL використовує імена класів і властивостей, що зберігає об'єктну абстракцію та полегшує переносимість між різними системами баз даних. За замовчуванням слід використовувати JPQL, якщо не потрібні специфічні можливості SQL.
2Яка анотація дозволяє виконати власний запит JPQL або SQL?
Яка анотація дозволяє виконати власний запит JPQL або SQL?
Відповідь
Анотація @Query дозволяє визначати власні запити безпосередньо в репозиторіях Spring Data JPA. За замовчуванням вона може містити JPQL або нативний SQL, якщо атрибут nativeQuery встановлено в true. Ця анотація забезпечує більшу гнучкість, ніж query method, похідні від імені методу, особливо для складних запитів з join або підзапитами.
3Як прив'язати параметр методу до @Query?
Як прив'язати параметр методу до @Query?
Відповідь
Анотація @Param дозволяє явно іменувати параметри, що використовуються в запитах @Query. Цей підхід є більш читабельним і надійним, ніж використання індексованих позицій, особливо під час рефакторингу коду. Анотація є обов'язковою для іменованих параметрів у JPQL і рекомендується навіть для нативних SQL-запитів для покращення зручності супроводу.
Яка клауза в JPQL дозволяє фільтрувати результати?
Яка основна різниця між JPQL та нативним SQL?
+27 питань зі співбесід
Інші теми співбесід Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Логування за допомогою SLF4J та Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Обробка винятків
Bean Validation
Основи Spring Data JPA
Сутності JPA та зв'язки
Spring Data Repositories
Основи Spring Security
Spring Boot Actuator
Модульне тестування з JUnit та Mockito
Тестування Spring Boot
Profiles та Environment
RestTemplate і WebClient
Async і Scheduling
Кешування зі Spring
Spring WebFlux (Reactive)
Транзакції Spring
Розширена автентифікація та авторизація
JWT та stateless-безпека
OAuth2 та Authorization Server
Spring Boot і Docker
Microservices зі Spring
Spring Cloud Config
Оптимізація продуктивності
GraalVM Native Images
Опануй Spring Boot для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно