Existe alguma diferença entre utilizar @Transactional, ou após setar os atributos que serão modificados, chamar o método topicoRepository.save(topico)? Ou dá no mesmo? Além de não ser a prática recomendada, é "errado" utilizar a segunda opção?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Existe alguma diferença entre utilizar @Transactional, ou após setar os atributos que serão modificados, chamar o método topicoRepository.save(topico)? Ou dá no mesmo? Além de não ser a prática recomendada, é "errado" utilizar a segunda opção?
Oi GIOVANA
Essa operações tem propósitos diferentes, mas nenhuma delas está errada. O @Transactional pode ser usado para agrupar em um método um conjunto de operações no banco de dados que devem ser efetivadas apenas se todas derem sucesso, por exemplo. Antes que o método transacional esteja prestes a retornar, a transação é confirmada, o que significa que todas as alterações nas entidades gerenciadas são descarregadas no banco de dados. Se ocorrer um erro, a transação será revertida, o que significa que nenhuma alteração será confirmada no banco de dados.