Spring Data JPA elimina el boilerplate de escribir clases DAO. Declaras una interfaz de repositorio; en el arranque Spring genera una implementación proxy respaldada por JPA/Hibernate. Nunca escribes entityManager.persist(...) para el CRUD básico.
Entidad + repositorio
{
Long id;
String email;
active;
}
<User, Long> {
Optional<User> ;
List<User> ;
}
