Olá Igor! Tudo ben?
Quando você utiliza o JPA e faz uma busca por um objeto com findById
, ele é de fato carregado no contexto de persistência e se torna um objeto "managed". Isso significa que qualquer alteração feita nesse objeto será detectada pelo JPA e, ao final da transação, essas alterações serão automaticamente sincronizadas com o banco de dados, sem a necessidade de chamar save
explicitamente.
No entanto, existem algumas situações em que chamar save
explicitamente pode ser vantajoso:
Controle de Transações: Se você estiver trabalhando em um contexto onde a transação é gerenciada manualmente ou precisa de um controle mais fino sobre quando as alterações devem ser aplicadas, chamar save
pode ser útil.
Atualizações Parciais: Em alguns casos, você pode querer garantir que apenas certas alterações sejam persistidas. Chamando save
, você tem a certeza de que o estado atual do objeto é o que será salvo, o que pode ser útil em cenários complexos.
Claridade de Código: Em algumas equipes, pode ser uma questão de clareza ou estilo de código, deixando explícito que o objeto foi atualizado e salvo.
Por outro lado, não chamar save
pode simplificar o código e reduzir a quantidade de operações explícitas, confiando no JPA para gerenciar o ciclo de vida do objeto.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.