O Spring Data JPA elimina o boilerplate de escrever classes DAO. Você declara uma interface de repositório; na inicialização, o Spring gera uma implementação proxy apoiada por JPA/Hibernate. Você nunca escreve entityManager.persist(...) para o CRUD básico.
Entidade + repositório
{
Long id;
String email;
active;
}
<User, Long> {
Optional<User> ;
List<User> ;
}
