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

The Java class for mapped type "Produto" must define a non-private zero-argument constructor

Olá, pesssoal!

Até agora está funcionando tudo direitinho conforme a aula, porém na anotação @Entity a classe Produtos está com essa mensagem:

The Java class for mapped type "Produto" must define a non-private zero-argument constructor

Alguém sabe me dizer o motivo e como posso consertar?

4 respostas
solução!

Bom dia Camila, tudo bem?

Verifique se sua Classe tem o construtor vazio necessário:

Ex:

public class Produto {
    public Produto() {} --> Vazio
}

O JPA necessita do construtor vazio para converter a linha do DB para o Objeto Java.

Perfeito, amigo! Deu super certo. Obrigada! :D

Pegando o gancho, no caso se que quiser deixar a classe da forma Produto produto = new Produto("Xiaomi", 250); em vez de usar os set's. Como ficaria?

Boa Tarde, Kaio. Tudo bem?

Você pode utilizar os set's normalmente... Mas se preferir a sobrecarga de construtor como disse anteriormente, precisará definir o construtor vazio (na classe Produto) também para o JPA fazer a conversão.

Abraço, bons estudos.