1
resposta

Annotation @Transactional

Para realizar o cadastro (POST), não foi necessário utilizar o @Transactional. Minha dúvida é pq foi necessário utilizar para o atualizar (PUT)? Como as duas operações são de escrita, fiquei sem entender pq uma precisa do contexto transacional e outra não.

1 resposta

Oi Carlos,

É porque no método salvar a gente chamou explicitamente o método save do repository, que dispara o commit automatico da transação.

Mas no método atualizar, eu apenas carreguei a entidade e atualizei os atributos dela. Nenhum método do repository para fazer o update no banco foi chamado e por isso precisou da anotação @Transactional para forçar o update.

Bons estudos!