Quando o tópico está sendo salvo no repository através do construtor abaixo, ocorre uma conversão de um @Form para @Entity. Como o autor está sendo tratado durante este processo? Ele é salvo como nulo no banco de dados?
Vale ressaltar que o autor é uma propriedade anotada como @ManyToOne, dentro de tópico.
Construtor
public Topico(String titulo, String mensagem, Curso curso) {
this.titulo = titulo;
this.mensagem = mensagem;
this.curso = curso;
}
Conversão
public Topico converter(CursoRepository cursoRepository) {
Curso curso = cursoRepository.findByNome(nomeCurso);
return new Topico(titulo, mensagem, curso);
}
Salvo em
@PostMapping
@Transactional
@CacheEvict(value = "listaDeTopicos", allEntries = true)
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));
}