Consultas JPA
Consultas JPA: derivación por nombre de método, @Query con JPQL, consultas nativas, paginación, ordenamiento
1¿Qué es JPQL?
¿Qué es JPQL?
Respuesta
JPQL (Java Persistence Query Language) es un lenguaje orientado a objetos que consulta entidades JPA en lugar de tablas de base de datos. A diferencia del SQL nativo, JPQL usa nombres de clases y propiedades, lo que mantiene la abstracción de objetos y facilita la portabilidad entre distintos sistemas de bases de datos. Conviene usar JPQL por defecto salvo que se requieran funcionalidades SQL específicas.
2¿Qué anotación permite ejecutar una consulta JPQL o SQL personalizada?
¿Qué anotación permite ejecutar una consulta JPQL o SQL personalizada?
Respuesta
La anotación @Query permite definir consultas personalizadas directamente en los repositories de Spring Data JPA. Puede contener JPQL por defecto o SQL nativo si el atributo nativeQuery se establece en true. Esta anotación ofrece más flexibilidad que los query methods derivados del nombre del método, especialmente para consultas complejas con joins o subconsultas.
3¿Cómo vincular un parámetro de método a una @Query?
¿Cómo vincular un parámetro de método a una @Query?
Respuesta
La anotación @Param permite nombrar explícitamente los parámetros utilizados en las consultas @Query. Este enfoque es más legible y robusto que usar posiciones indexadas, especialmente durante la refactorización del código. La anotación es obligatoria para los parámetros nombrados en JPQL y recomendada incluso para las consultas SQL nativas a fin de mejorar la mantenibilidad.
En JPQL, ¿qué cláusula permite filtrar los resultados?
¿Cuál es la diferencia principal entre JPQL y SQL nativo?
+27 preguntas de entrevista
Otros temas de entrevista Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging con SLF4J y Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Manejo de excepciones
Bean Validation
Fundamentos de Spring Data JPA
Entidades JPA y relaciones
Spring Data Repositories
Fundamentos de Spring Security
Spring Boot Actuator
Pruebas unitarias con JUnit y Mockito
Testing en Spring Boot
Profiles y Environment
RestTemplate y WebClient
Async y Scheduling
Caching con Spring
Spring WebFlux (Reactive)
Transacciones de Spring
Autenticación y autorización avanzadas
JWT y seguridad stateless
OAuth2 y Authorization Server
Spring Boot y Docker
Microservices con Spring
Spring Cloud Config
Optimización del rendimiento
GraalVM Native Images
Domina Spring Boot para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis