Fórum Relacionamento e um para muitos #485574
15/07/2014
0
@Entity
@Table(name = "produto")
public class Produto implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Integer id;
@Column(name = "Descricao")
private String descricao;
@OneToMany(mappedBy = "produto", cascade = { CascadeType.ALL,
CascadeType.PERSIST, CascadeType.MERGE })
private List<ProdutoLoja> produtoLoja;
//Tabela produlo Loja
@Entity
@Table(name = "produtoloja")
public class ProdutoLoja implements Serializable {
private static final long serialVersionUID = -312317668584983632L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Integer id;
@ManyToOne
@JoinColumn(name = "id_produto")
@NotNull
private Produto produto;
//bean
@ManagedBean(name = "produto")
@RequestScoped
public class ProdutoBean {
private Produto produto;
ProdutosDAO produtoDAO = new ProdutosDAO();
ProdutosLojaDAO plDAO = new ProdutosLojaDAO();
private List<Produto> produtos;
private ProdutoLoja produtoLoja = new ProdutoLoja();
private List<Foto> fotos;
public ProdutoBean() {
this.novo();
}
public void novo() {
produto = new Produto();
produtoLoja = new ProdutoLoja();
}
public void salvar() {
FacesContext fc = FacesContext.getCurrentInstance();
if (produto.getId() == null) {
produto.getProdutoLoja().add(produtoLoja);
produtoDAO.addProduto(produto);
novo();
FacesMessage facesMessage = new FacesMessage(
"Produto cadastrado com Sucesso! ");
fc.addMessage(null, facesMessage);
} else {
produtoDAO.updateProduto(produto);
FacesMessage facesMessage = new FacesMessage(
"Produto alterado com Sucesso! ");
fc.addMessage(null, facesMessage);
novo();
}
}
Adriano Aguiar
Curtir tópico
+ 0Posts
16/07/2014
Ronaldo Lanhellas
Mas para ser mais exato, em qual linha o erro ocorre ?
Gostei + 0
16/07/2014
Adriano Aguiar
produto.getProdutoLoja().add(produtoLoja);
grato!
Gostei + 0
16/07/2014
Ronaldo Lanhellas
if (produto.getProdutoLoja() == null) {
produto.setProdutoLoja(new ArrayList<ProdutoLoja>());
}
Gostei + 0
16/07/2014
Adriano Aguiar
Gostei + 0
16/07/2014
Ronaldo Lanhellas
Gostei + 0
16/07/2014
Adriano Aguiar
Gostei + 0
16/07/2014
Ronaldo Lanhellas
produtoLoja.setProduto(produto); produto.getProdutoLoja().add(produtoLoja);
Teste e me diga se funcionou.
Gostei + 0
16/07/2014
Adriano Aguiar
produtoLoja.setProduto(produto);
if (produto.getProdutoLoja() == null) {
produto.setProdutoLoja(new ArrayList<ProdutoLoja>());
}
produtoDAO.addProduto(produto);
Gostei + 0
16/07/2014
Ronaldo Lanhellas
produtoLoja.setProduto(produto);
if (produto.getProdutoLoja() == null) {
produto.setProdutoLoja(new ArrayList<ProdutoLoja>());
}
produtoDAO.addProduto(produto);
mas está errado, você tem por todo código, veja:
produtoLoja.setProduto(produto);
if (produto.getProdutoLoja() == null) {
produto.setProdutoLoja(new ArrayList<ProdutoLoja>());
}
produto.getProdutoLoja().add(produtoLoja);
produtoDAO.addProduto(produto);
Gostei + 0
16/07/2014
Adriano Aguiar
grato!
Gostei + 0
16/07/2014
Ronaldo Lanhellas
Entendeu ?
Gostei + 0
16/07/2014
Adriano Aguiar
Gostei + 0
18/07/2014
Adriano Aguiar
<p:inputText value="#{produto.produto.descricao}" size="50"
required="true" requiredMessage="Informe a descricao do produto"></p:inputText>
<p:inputText value="#{produto.produtoLoja.valor_venda}" size="10"
required="true" requiredMessage="Informe o Valor de Venda"></p:inputText>
public String doUpdateProduto() {
produtoLoja = plDAO.getProdutoPLoja(produto.getId());
return "produtos";
}
grato.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)