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

Property [id] not found on type [br.com.casadocodigo.loja.modelo.Produto]

Boa Noite Senhores,

Estou fazendo os exercícios de spring mvc I e estou tendo este problema.

Property [id] not found on type [br.com.casadocodigo.loja.modelo.Produto]

Já olhei o tipo de dados no modelo Produto está tudo certo. segue o código do produtos abaixo:

package br.com.casadocodigo.loja.modelo;

import java.util.Calendar;
import java.util.List;

import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

import org.springframework.format.annotation.DateTimeFormat;

@Entity
public class Produto {

    @Id 
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private int id;

    private String titulo;
    private String descricao;    
    private int paginas;

    @ElementCollection // Este atributo é uma coleção de elementos
    private List<Preco> precos;

    @DateTimeFormat
    private Calendar dataLancamento;

    private String sumarioPath;

    public Produto() {
    }

    public String getTitulo() {
        return titulo;
    }
    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }
    public String getDescricao() {
        return descricao;
    }
    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }
    public int getPaginas() {
        return paginas;
    }
    public void setPaginas(int paginas) {
        this.paginas = paginas;
    }


    public List<Preco> getPrecos() {
        return precos;
    }

    public void setPrecos(List<Preco> precos) {
        this.precos = precos;
    }

    public Calendar getDataLancamento() {
        return dataLancamento;
    }

    public void setDataLancamento(Calendar dataLancamento) {
        this.dataLancamento = dataLancamento;
    }

    public String getSumarioPath() {
        return sumarioPath;
    }

    public void setSumarioPath(String sumario) {
        this.sumarioPath = sumario;
    }

    @Override
    public String toString() {
        return "Produto [titulo=" + titulo + ", descricao=" + descricao + ", paginas=" + paginas + "]";
    }

}

Alguém poderia me ajudar Obrigado

2 respostas
solução!

Oi Rafael

Eu acredito que o problema está acontecendo porque você não tem o método getId().

public int getId(){
    return this.id; 
}

Pode dar adicionar esse método ? Me avise aqui se deu certo ou não.

abraço

Boa noite Caio, Era isso mesmo, eu tinha esquecido de criar um set e um get para o id do produto. Fui criando na mão mesmo, acabei esquecendo esse detalhe.

Muito obrigado, Rafael

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software