Spring Data JPA removes the boilerplate of writing DAO classes. You declare a repository interface; at startup Spring generates a proxy implementation backed by JPA/Hibernate. You never write entityManager.persist(...) for basic CRUD.
Entity + repository
{
Long id;
String email;
active;
}
<User, Long> {
Optional<User> ;
List<User> ;
}
