Spring Data Repositories
Spring Data repositories, CrudRepository vs JpaRepository, consultas personalizadas, @EntityGraph, projeções
1Qual é a principal diferença entre JpaRepository e CrudRepository?
Qual é a principal diferença entre JpaRepository e CrudRepository?
Resposta
JpaRepository estende tanto CrudRepository quanto PagingAndSortingRepository, adicionando métodos específicos de JPA como flush(), saveAndFlush() e deleteInBatch(). CrudRepository fornece apenas as operações CRUD básicas (save, findById, delete). Usar JpaRepository dá acesso a todos os recursos avançados de JPA sem precisar combinar várias interfaces.
2Qual é o papel de PagingAndSortingRepository na hierarquia de repositories?
Qual é o papel de PagingAndSortingRepository na hierarquia de repositories?
Resposta
PagingAndSortingRepository estende CrudRepository adicionando os métodos findAll(Pageable) e findAll(Sort) para paginação e ordenação. Isso permite recuperar dados em páginas com Page/Slice e ordenar os resultados. JpaRepository estende essa interface, oferecendo assim paginação, ordenação e recursos específicos de JPA em uma única interface.
3Qual é a hierarquia correta das interfaces de repository do Spring Data?
Qual é a hierarquia correta das interfaces de repository do Spring Data?
Resposta
A hierarquia correta é Repository (base) → CrudRepository (CRUD) → PagingAndSortingRepository (paginação/ordenação) → JpaRepository (específico de JPA). Cada nível adiciona recursos: CrudRepository adiciona save/delete, PagingAndSortingRepository adiciona paginação/ordenação e JpaRepository adiciona flush/batch. Essa arquitetura permite escolher o nível de recursos necessário.
Qual método do JpaRepository permite sincronizar imediatamente as alterações com o banco de dados?
Em qual caso é preferível usar CrudRepository em vez de JpaRepository?
+22 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
Consultas JPA
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