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

Não está salvando as informações na Produto_precos

Minha classe Produto:

    @ElementCollection
    private List<Preco> precos;

Minha classe Preco:

package br.com.casadocodigo.loja.modelo;

import java.math.BigDecimal;

import javax.persistence.Embeddable;

@Embeddable
public class Preco {
    private BigDecimal valor;
    private TipoPreco tipo;
}

Enum TipoPreco:

package br.com.casadocodigo.loja.modelo;

public enum TipoPreco {
    EBOOK, IMPRESSO, COMBO;
}

Meu form.jsp:

        <c:forEach items="${tipos}" var="tipoPreco" varStatus="status">
            <div>
                <label>${tipoPreco}</label>
                <input type="text" name="precos[${status.index}].valor" />
                <input type="hidden" name="precos[${status.index}].tipo" value="${tipoPreco}" />
            </div>
        </c:forEach>

Implementei conforme o curso, quando eu inicio o servidor cria as tabelas... Cadastrei um livro, carregou o ok.jsp Dei um select na tabela produto, e o livro cadastrado, oi mostrado... Mas quando eu dei um select na produto_precos, retornou "Empty"...

4 respostas

Olá Ewerton, tudo bem?

Tive um problema parecido uma vez, no meu caso havia esquecido de colocar na classe Produto o

@Embedded
private Preco preco;

Espero que essa informação ajude!

Abs

Eu agradeço, Rafael! Add no código, msm não estando nesse capítulo... Mas não resolveu...

Olá Ewerton,

Estava revendo o código, uma sugestão, tente instanciar a lista:

@ElementCollection
    private List<Preco> precos = new ArrayList<>();

Espero que dê certo!

Abs

solução!

Boa noite Rafael!!

Cara, eu criei a lista de preços:

    private List<Preco> precos;

Mas como eu já havia criado os gets e sets dos outros atributos, acabei me esquecendo de criar o get e set da lista...

Adicionei:

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

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

E ficou perfeito...

Obrigado pela ajuda !! Um abraço!!

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