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

Erro no metodo detalhar, não consigo enviar dá erro.

ERROR 952 --- [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.orm.jpa.JpaSystemException: HHH000142: Bytecode enhancement failed: br.com.alura.forum.model.Topico; nested exception is org.hibernate.HibernateException: HHH000142: Bytecode enhancement failed: br.com.alura.forum.model.Topico] with root cause


    @GetMapping("/{id}")
    public TopicoDto detalhar(@PathVariable("id") Long id){
        Topico topico = topicoRepository.getOne(id);
        return new TopicoDto(topico);
    }
3 respostas
solução!

Oi Karoline,

O construtor default da classe Topico tem que ser public.

Acho que se deixar como package-private também funciona, mas na versão do hibernate utilizada no curso não vai poder ser private =/

eu sei que é uma pergunta idiota.. kkk mas quando tu tá falando package-private está falando do pacote que a classe pertence ? e onde eu colocaria por exemplo para o pacote ser private?

Oi Karoline,

Nenhuma pergunta é idiota, sinta-se à vontade para perguntar qualquer coisa :)

Package-private é quando você não coloca o modificar de visibilidade:

public class Topico {

    //construtor public
    public Topico() {
    }

    //construtor private
    private Topico() {
    }

    //construtor protected
    protected Topico() {
    }

    //construtor package-private (visivel apenas para classes que estiverem no mesmo pacote da classe Topico)
    Topico() {
    }

}