Pessoal, estou com um problema para persistir dados de uma tela de cadastro que não estou conseguindo identificar o motivo.
Seguinte: tenho uma tela de compras de produtos, coisa simples, contendo a data da compra, o produto (que é selectMenu onde posso selecionar o produto provindo do BD) e a quantidade comprada.
O que ocorre é que ao tentar persistir esses dados ocorre a seguinte Warning, porém apesar de ser uma Warning não salva nenhuma informação no banco:
WARNING: Unable to find component with ID produto in view.
Segue o trecho do código onde tento salvar os dados, que é o ManagedBean que comunica-se com a pagina xhtml:
[code] public void salvar(){
//System.out.println(“Gravando informações da compra”);
Produto produto = new DAO(Produto.class).buscar(this.idProduto);
this.compra.setProduto(produto);
System.out.println("Id produto " + produto.getDsProduto());
new DAO<Compra>(Compra.class).salvar(this.compra);
this.compra = new Compra();
}[/code]
Esse trecho: System.out.println("Id produto " + produto.getDsProduto()); retorna a descrição correta do produto, o que diz que a busca está sendo realizada.
Classe compra:
@Entity
public class Compra {
@Id @GeneratedValue
private long idCompra;
private String dataCompra;
@ManyToOne
private Produto produto;
private int qtde;
public String getDataCompra() {
return dataCompra;
}
public void setDataCompra(String dataCompra) {
this.dataCompra = dataCompra;
}
public Produto getProduto() {
return produto;
}
public void setProduto(Produto produto) {
this.produto = produto;
}
public int getQtde() {
return qtde;
}
public void setQtde(int qtde) {
this.qtde = qtde;
}
}
Classe Produto
@Entity
public class Produto {
@Id
@Column(name="id")
private int id;
@Column(name="dsproduto")
private String dsProduto;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getDsProduto() {
return dsProduto;
}
public void setDsProduto(String dsProduto) {
this.dsProduto = dsProduto;
}
}
Alguém saberia me dizer o que está ocorrendo?
Obrigado.