Spring Boot

Spring Data Repositories

Spring Data repositories, CrudRepository vs JpaRepository, consultas personalizadas, @EntityGraph, projeções

25 perguntas de entrevista·
Mid-Level
1

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.

2

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.

3

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.

4

Qual método do JpaRepository permite sincronizar imediatamente as alterações com o banco de dados?

5

Em qual caso é preferível usar CrudRepository em vez de JpaRepository?

+22 perguntas de entrevista

Domine Spring Boot para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis