Spring Boot

Spring Data Repositories

Spring Data repositories, CrudRepository vs JpaRepository, consultas personalizadas, @EntityGraph, proyecciones

25 preguntas de entrevista·
Mid-Level
1

¿Cuál es la diferencia principal entre JpaRepository y CrudRepository?

Respuesta

JpaRepository extiende tanto CrudRepository como PagingAndSortingRepository, agregando métodos específicos de JPA como flush(), saveAndFlush() y deleteInBatch(). CrudRepository solo proporciona las operaciones CRUD básicas (save, findById, delete). Usar JpaRepository da acceso a todas las funcionalidades JPA avanzadas sin necesidad de combinar varias interfaces.

2

¿Cuál es el rol de PagingAndSortingRepository en la jerarquía de repositories?

Respuesta

PagingAndSortingRepository extiende CrudRepository agregando los métodos findAll(Pageable) y findAll(Sort) para la paginación y el ordenamiento. Esto permite recuperar datos por páginas con Page/Slice y ordenar los resultados. JpaRepository extiende esta interfaz, ofreciendo así paginación, ordenamiento y funcionalidades específicas de JPA en una sola interfaz.

3

¿Cuál es la jerarquía correcta de las interfaces de repository de Spring Data?

Respuesta

La jerarquía correcta es Repository (base) → CrudRepository (CRUD) → PagingAndSortingRepository (paginación/ordenamiento) → JpaRepository (específico de JPA). Cada nivel agrega funcionalidades: CrudRepository agrega save/delete, PagingAndSortingRepository agrega paginación/ordenamiento, y JpaRepository agrega flush/batch. Esta arquitectura permite elegir el nivel de funcionalidades necesario.

4

¿Qué método de JpaRepository permite sincronizar inmediatamente los cambios con la base de datos?

5

¿En qué caso conviene preferir CrudRepository en lugar de JpaRepository?

+22 preguntas de entrevista

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