Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Como o topico.getId() retorna o id sem consultar o BD e sem ser setado posteriormente?

A variável topico é criada com o metodo form.converter, que retorno um new Topico. Porem em nenhum momento é passado o ID (que é auto increment no BD), e mesmo assim o quando o metodo topico.getId() é chamdo, ele retorna o Id conrrespondente ao do BD sem fazer nenhuma consulta

@PostMapping
    public ResponseEntity<TopicoDto> cadastrar(@RequestBody 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));
    }
1 resposta
solução!

Oi Gabriel,

Nessa linha:

topicoRepository.save(topico);

O Hibernate já sincroniza o id da entidade e faz o setId automaticamente.

Bons estudos!