Achei esse conteúdo muito interessante, porque realmente mostra como o JPA e o Hibernate facilitam a vida da pessoa desenvolvedora. Em vez de ficar escrevendo SQL puro a cada operação, conseguimos mapear as classes Java diretamente para tabelas do banco, deixando o código mais limpo e organizado.
Um exemplo de aplicabilidade é no cadastro de usuários em uma aplicação web: podemos criar uma classe Usuario como entidade, e através do EntityManager ou do Spring Data JPA salvar, consultar e atualizar esses dados sem precisar escrever queries SQL manuais. Isso torna o desenvolvimento mais ágil e, ao mesmo tempo, permite trocar o banco de dados da aplicação sem grandes mudanças no código.
Fiquei com uma dúvida: quando é mais indicado usar consultas personalizadas com JPQL em vez dos métodos prontos do Spring Data JPA? Existe algum critério prático que vocês usam no dia a dia para decidir entre um e outro?