Olá,
Percebi que usamos a anotação @Transactional para fazer o commit no nosso banco de dados quando é feito algum update.
Entendo que não houve a necessidade do transactional no método de cadastrar um novo tópico porque usamos o save do jpa, certo? Porém no meu código ele não salva no banco de dado.. ele chega a cadastrar o meu tópico, mas logo em seguida quando vou dar um get desse tópico com o ID novo gerado, ele não encontra, ou seja, esse tópico que postei no método cadastrar não cehga a ser salvo. No ententanto, se eu não filtro por esse ID novo, apenas faço GET de TODOS os tópicos, ele traz o meu tópico novo. Não entendi pq isso acontece..
@PostMapping
public ResponseEntity<TopicoDTO> cadastrar(@RequestBody @Valid TopicoForm form, UriComponentsBuilder uriBuilder) {
Topico topico = form.converter(cursoRepository);
topicoRepository.save(topico);
URI uri = uriBuilder.path("/topicos/{id}").buildAndExpand(topico.getId()).toUri();
return ResponseEntity.created(uri).body(new TopicoDTO(topico));
}
Minha dúvida é como poderia fazer para esse novo tópico gerado ser salvo no banco de dados e eu conseguir consultá-lo filtrando pelo ID através do GET?
Poderia ser usado o @Transational como usamos no Update? tentei essa opção mas não funcionou comigo.
Obrigado