Quando vc adcionar o fornecedor ao banco, o banco tera o trabalho de gerar o ID, e o hibernate vai ajustar o valor do campo no objeto, assim que vc criar o fornecedor…
para isso no banco o campo deve id_fornecedor deve estar auto_incrase
R
Renato_natos
Ok mas,
eu preciso fazer @OneToOne, vc tem alguma dica???
Os meus cabelos agradeçem!!!
Lavieri
Renato_natos:
Ok mas,
eu preciso fazer @OneToOne, vc tem alguma dica???
Os meus cabelos agradeçem!!!
C eu estou entendendo bem… não é OneToOne e sim OneToMany …
um Fornecedor so pode te fornecer 1 produto ???
ou um Fornecedor pode te fornecer N produtos ??
OneToMany ker dizer que… um fornecedor contem varios produtos e que um produto contem apenas um fornecedor…
e la antes do JoinColum do produto vc colocaria… @ManyToOne para indicar que vc pode ter varios produtos apontando para um unico fornecedor,
R
Renato_natos
ah sim desculpe,
exatamente isso @OneToMany
então isto que está me confundindo
eu fiz um formulário para preencher campos da tabela fornecedor e produto.
Minha intenção é que na hora que for salvar, ele salve o fornecedor atribua o valor da PK na FK que está na tabela produto e salve o produto. É possivel?
public void salvaProduto(Produto produto){
produto.setFornecedor(this);
produtos.add(produto);
}
e saiba que é preciso salvar o fornecedor antes!, caso contrario, não havera a chave primaria para salvar os produtos
Obs… o nome salvaProduto não esta legal… visto que o produto nao esta sendo salvo, e sim adcinoado…
Obs2… nao sei como vc implementou o service.salvar(fornecedor) mais neste caso, vc deve salvar o fornecedor e depois percorrer todos os produtos e salvar cada produto, isso para a forma como vc esta abordando
R
Renato_natos
Bom dia,
Fiz esta alteração que foi dita mas aparece um outro erro:
“mappedBy reference an unknown target entity property: entidade.Produto.fornecedor in entidade.Fornecedor.produtos”;
Não imagino o que pode ser, vc pode me ajudar com este erro?
Lavieri
Renato_natos:
Bom dia,
Fiz esta alteração que foi dita mas aparece um outro erro:
“mappedBy reference an unknown target entity property: entidade.Produto.fornecedor in entidade.Fornecedor.produtos”;
Não imagino o que pode ser, vc pode me ajudar com este erro?
o poder de um “s”
“mappedBy reference an unknown target entity property: entidade.Produto.fornecedor in entidade.Fornecedor.produtos”;
//...publicclassFornecedorimplementsSerializable{//...//aqui vc colocou fornecedor , sem estar no plural@OneToMany(mappedBy="fornecedor",cascade=CascadeType.ALL,fetch=FetchType.EAGER)privateCollection<Produto>produtos=newArrayList<Produto>();//...}//...publicclassProdutoimplementsSerializable{//...privateFornecedorfornecedores;// <== aki ta escrito fornecedores (no plural) tem um "s" a mais que no mappedBy//como não são fornecedores e sim fornecedor, acredito que tirar o "s" daqui seja a melhor solução//...}
R
Renato_natos
Ok, corrigi esta linha e salvou, mas salvou o fornecedor e o produto sem nenhum vínculo, ou seja, ele não atribuiu o id do fornecedor na chave estrangeira.
Vc têm alguma idéia de onde esteja meu erro?
Muito obrigado pela atenção!!!
R
Renato_natos
Puts…Consegui finalmente…
Muito obrigado pela sua ajuda!!!
Tive que corrigir aquele ‘s’ e incluir uma linha de comando
vlw.
Lavieri
Renato_natos:
Puts…Consegui finalmente…
Muito obrigado pela sua ajuda!!!
Tive que corrigir aquele ‘s’ e incluir uma linha de comando
vlw.
sempre bom editar a msg principal, e colocar um [RESOLVIDO] depois do titulo, pra o pessoal saber que não precisa + de ajuda para este problema, e pra caso alguem pesquise sobre o mesmo problema, ao ver o titulo saber que o seu problema esta resolvido ^^