Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

@Transactional

Olá professor,

Minha dúvida é com o relação ao @Transactional no método atualizar da classe TopicosController que usa o verdo HTTP PUT, gostaria de saber por que foi necessário colocar essa anotação sendo que no método cadastrar que usa o HTTP POST não foi necessário?

Obrigado,

3 respostas
solução!

Oi Brazlucca,

No método salvar não foi necessário pois estamos chamando o método save do repository, que automaticamente vai inicar uma transação.

Mas no método atualizar, não chamamos nenhum método do repository para forçar uma atualização. Apenas carregamos o tópico pelo id e então alteramos em memória as informações.

Porém, desse jeito o Spring não sabe que precisamos de uma transação e não criará uma.

Mas a boa prática é sempre colocar o @Transactional nos métodos que precisam de transação (salvar, alterar, excluir).

Bons estudos!

Excelente, muito obrigado!

Att, Lucca Braz.

Oi, que bom que resolveu o seu problema. Vou fechar o tópico, ok?

Qualquer coisa não hesite em abrir outro, ok?