Interfaces de repositorio: JpaRepository y CrudRepository
Spring Data JPA elimina el código DAO repetitivo al generar implementaciones de repositorio en tiempo de ejecución. Usted declara una interfaz, extiende una de las interfaces base del repositorio y Spring crea una implementación completamente funcional (que incluye guardar, findById, findAll, eliminar, contar y paginar) sin una sola línea de SQL.