Consultas JPA
Consultas JPA: derivação por nome de método, @Query com JPQL, consultas nativas, paginação, ordenação
1O que é JPQL?
O que é JPQL?
Resposta
JPQL (Java Persistence Query Language) é uma linguagem orientada a objetos que consulta entidades JPA em vez de tabelas de banco de dados. Diferente do SQL nativo, o JPQL usa nomes de classes e propriedades, o que mantém a abstração de objetos e facilita a portabilidade entre diferentes bancos de dados. Convém usar o JPQL por padrão, a menos que sejam necessários recursos específicos do SQL.
2Qual anotação permite executar uma consulta JPQL ou SQL personalizada?
Qual anotação permite executar uma consulta JPQL ou SQL personalizada?
Resposta
A anotação @Query permite definir consultas personalizadas diretamente nos repositories do Spring Data JPA. Ela pode conter JPQL por padrão ou SQL nativo se o atributo nativeQuery for definido como true. Essa anotação oferece mais flexibilidade do que os query methods derivados do nome do método, especialmente para consultas complexas com joins ou subconsultas.
3Como vincular um parâmetro de método a uma @Query?
Como vincular um parâmetro de método a uma @Query?
Resposta
A anotação @Param permite nomear explicitamente os parâmetros utilizados nas consultas @Query. Essa abordagem é mais legível e robusta do que usar posições indexadas, especialmente durante a refatoração do código. A anotação é obrigatória para parâmetros nomeados em JPQL e recomendada mesmo para consultas SQL nativas, a fim de melhorar a manutenibilidade.
No JPQL, qual cláusula permite filtrar os resultados?
Qual é a principal diferença entre JPQL e SQL nativo?
+27 perguntas de entrevista
Outros temas de entrevista Spring Boot
Spring Core - IoC & DI
Spring Boot Auto-Configuration
Spring Boot Starters
Application Properties & YAML
Logging com SLF4J e Logback
Spring Boot DevTools
Spring MVC Basics
Spring REST Controllers
Request & Response Handling
Tratamento de exceções
Bean Validation
Fundamentos do Spring Data JPA
Entidades JPA e relacionamentos
Spring Data Repositories
Fundamentos do Spring Security
Spring Boot Actuator
Testes unitários com JUnit e Mockito
Testes no Spring Boot
Profiles e Environment
RestTemplate e WebClient
Async e Scheduling
Caching com Spring
Spring WebFlux (Reactive)
Transações do Spring
Autenticação e autorização avançadas
JWT e segurança stateless
OAuth2 e Authorization Server
Spring Boot e Docker
Microservices com Spring
Spring Cloud Config
Otimização de desempenho
GraalVM Native Images
Domine Spring Boot para sua proxima entrevista
Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.
Comece gratis