Pessoal to em duvida em fazer o mapeamento da relacao abaixo, eu consigo fazer mas ele n ta preenchendo a coluna “quantidade”, ja rodei uns codigos ai, mas nao encontro igual ao q quero, mas tb acho q n seja dificil, eh q estou me enrrolando nesse mapeamento. Alguem poderia colocar o codigo desse mapeamento?? Vlw…
Eh um relacionamento N:N entre CLIENTE e PRODUTO, a tabela do meio eh a PEDIDO.
Vo colocar o codigo de mapeamento q ja fiz, mas falta modificar p cadastrar a coluna “quantidade” de PEDIDO.
Com estes 2 mapeamentos ele ja cadastra nas 3 tabelas, so n preenche a coluna “quantidade”. Dai eu fiz 1 mapeamento p PEDIDO p ve se consigo cadastrar a “quantidade”, mas n pegou. Segue abaixo:
nossa kra estranho sempre vi assim
Cliente tem varios pedidos e pedidos tem varios itens, pq olhando no seu mapeamento cliente tem varios produtos esta certo, é so vc colocar setar a quantidade e habilitar cascate all que ele deve gravar tudo, adicione a tag insert=true e update=true tbm no mapeamento que tem o composite id.
[quote=foliveira81]nossa kra estranho sempre vi assim
Cliente tem varios pedidos e pedidos tem varios itens, pq olhando no seu mapeamento cliente tem varios produtos esta certo, é so vc colocar setar a quantidade e habilitar cascate all que ele deve gravar tudo, adicione a tag insert=true e update=true tbm no mapeamento que tem o composite id.
qualquer coisa estamos ai
Abraços
[/quote]
na verdade esse relacionamento usualmente eh feito assim:
cliente 1:n pedido
pedido n:n produto
e listaItens seria a tabela do meio entre pedido e produto
mas por algumas razoes o mapeamento tem q ser o exposto como fiz, nao eh o normalmente usado, mas creio eu q tb n esteja errado.
ja li 300xesse tutorial, mto bom, mas n tem este mapeemento especifico. ja fui ate no site do hibernate, mapeamento igual n achei. por enqto vo tentando…
Sinceramente, essa sua modelagem e mapeamento estão um pouco confusos. Mas vamos lá…
Primeiro, uma pergunta: qual das entidades você está tentando persistir? Supondo (você não deixou isso claro) que seja Cliente, já tentou persistir uma coleção de pedidos ao invés de uma coleção de produtos?
Cara, eu tive o mesmo problema e ja li em várioas lugares a seguinte mensagem: Não é aconselhavel utilzar chave composta na modelagem do banco.
Mas… se mesmo assim você não tiver como fugir eu não tenho nada pronto aqui mas sei que você tera de usar um cara chamado “COMPOSITE-ID” no google tem algumas coisas falando dele. Veja se te ajuda.
Sinceramente, essa sua modelagem e mapeamento estão um pouco confusos. Mas vamos lá…
Primeiro, uma pergunta: qual das entidades você está tentando persistir? Supondo (você não deixou isso claro) que seja Cliente, já tentou persistir uma coleção de pedidos ao invés de uma coleção de produtos?
[/quote]
to tentando persistir cliente, produto e pedido
mas se fosse n:n sem coluna em pedido, so precisava persistir cliente e produto
mas como tem a coluna quantidade ai to vendo q tenho q criar um bean p pedido tb.
[quote=Cabral]Cara, eu tive o mesmo problema e ja li em várioas lugares a seguinte mensagem: Não é aconselhavel utilzar chave composta na modelagem do banco.
Mas… se mesmo assim você não tiver como fugir eu não tenho nada pronto aqui mas sei que você tera de usar um cara chamado “COMPOSITE-ID” no google tem algumas coisas falando dele. Veja se te ajuda.
falou!
Ricardo Cabral[/quote]
cara ate respeito sua opinao. mas dizer q n eh aconselhavel usar chave composta, eh dizer p n usar um dos relacionamentos basicos de banco, o N:N, isso na minha opiniao n existe. eu utilizei o composite id no mapeamento de pedido, pode ate ver la em cima, mas n acertei em algo
msm assim vlw a juda, por enqto vo tenatndo outras alternativas
Sinceramente, essa sua modelagem e mapeamento estão um pouco confusos. Mas vamos lá…
Primeiro, uma pergunta: qual das entidades você está tentando persistir? Supondo (você não deixou isso claro) que seja Cliente, já tentou persistir uma coleção de pedidos ao invés de uma coleção de produtos?
[/quote]
to tentando persistir cliente, produto e pedido
mas se fosse n:n sem coluna em pedido, so precisava persistir cliente e produto
mas como tem a coluna quantidade ai to vendo q tenho q criar um bean p pedido tb.
eu n to achando nd confuso nisso
mas qlq coisa fala ai q te esclareco[/quote]
Eu entendi que você quer persistir os três, mas está fazendo isso a partir de qual das três entidades? Em outras palavras, você tá dando o save em qual entidade? Clientes? Ou está dando save separado em cada entidade?
[quote=hlds][quote=Cabral]Cara, eu tive o mesmo problema e ja li em várioas lugares a seguinte mensagem: Não é aconselhavel utilzar chave composta na modelagem do banco.
Mas… se mesmo assim você não tiver como fugir eu não tenho nada pronto aqui mas sei que você tera de usar um cara chamado “COMPOSITE-ID” no google tem algumas coisas falando dele. Veja se te ajuda.
falou!
Ricardo Cabral[/quote]
cara ate respeito sua opinao. mas dizer q n eh aconselhavel usar chave composta, eh dizer p n usar um dos relacionamentos basicos de banco, o N:N, isso na minha opiniao n existe. eu utilizei o composite id no mapeamento de pedido, pode ate ver la em cima, mas n acertei em algo
msm assim vlw a juda, por enqto vo tenatndo outras alternativas[/quote]
Cara não é opinião minha, foi apenas o que eu li nos lugares em que procurei quando tive o mesmo problema ;).
o relacionamento que voce procura no hibernate se chama “composite-id”
esse composite-id é o “bean” que voce vai criar . da uma procuradinha que eu acho que tem em portugues…
Sinceramente, essa sua modelagem e mapeamento estão um pouco confusos. Mas vamos lá…
Primeiro, uma pergunta: qual das entidades você está tentando persistir? Supondo (você não deixou isso claro) que seja Cliente, já tentou persistir uma coleção de pedidos ao invés de uma coleção de produtos?
[/quote]
to tentando persistir cliente, produto e pedido
mas se fosse n:n sem coluna em pedido, so precisava persistir cliente e produto
mas como tem a coluna quantidade ai to vendo q tenho q criar um bean p pedido tb.
eu n to achando nd confuso nisso
mas qlq coisa fala ai q te esclareco[/quote]
Eu entendi que você quer persistir os três, mas está fazendo isso a partir de qual das três entidades? Em outras palavras, você tá dando o save em qual entidade? Clientes? Ou está dando save separado em cada entidade?[/quote]
separado em cada, n usei cascade, pq axei q ia dar no msm, mas se resolver meu problema posso usar (apesar q axo q n resolva).
[quote=Cabral][quote=hlds][quote=Cabral]Cara, eu tive o mesmo problema e ja li em várioas lugares a seguinte mensagem: Não é aconselhavel utilzar chave composta na modelagem do banco.
Mas… se mesmo assim você não tiver como fugir eu não tenho nada pronto aqui mas sei que você tera de usar um cara chamado “COMPOSITE-ID” no google tem algumas coisas falando dele. Veja se te ajuda.
falou!
Ricardo Cabral[/quote]
cara ate respeito sua opinao. mas dizer q n eh aconselhavel usar chave composta, eh dizer p n usar um dos relacionamentos basicos de banco, o N:N, isso na minha opiniao n existe. eu utilizei o composite id no mapeamento de pedido, pode ate ver la em cima, mas n acertei em algo
msm assim vlw a juda, por enqto vo tenatndo outras alternativas[/quote]
Cara não é opinião minha, foi apenas o que eu li nos lugares em que procurei quando tive o mesmo problema ;).
o relacionamento que voce procura no hibernate se chama “composite-id”
esse composite-id é o “bean” que voce vai criar . da uma procuradinha que eu acho que tem em portugues…
falou
[/quote]
esse composite-id q vi na documentacao do hibernate eh a tag q usei no Pedido.hbm.xml acima, eh disto q vc ta falando? se nao for, n entendi.
eu tava pensando em tirar os sets de Produto e Cliente, e dx o bean de pedido como ta. Ai faria o casatro de Cliente e Produto e dps cadastraria os Pedidos um por um com os ID de ambos, ficaria feio (por bem nao dizer “horrivel”), mas axo q funcionava.
Se eu fosse você tinha feito uma classe a mais chamada ItemPedido na qual eu teria um produto e a quantidade de tal produto, assim um pedido teria uma coleção de itemPedido.
Um cliente com uma coleção de pedidos, ou seja, one-to-many.
Um pedido tem uma coleção de itemPedido, ou seja, one-to-many.
Um itemPedido composto de um produto, ou seja, one-to-one.
Acho que isso resolveria o problema. Me corrijam se eu estiver errado.
[quote=diego.r.araujo]Se eu fosse você tinha feito uma classe a mais chamada ItemPedido na qual eu teria um produto e a quantidade de tal produto, assim um pedido teria uma coleção de itemPedido.
Um cliente com uma coleção de pedidos, ou seja, one-to-many.
Um pedido tem uma coleção de itemPedido, ou seja, one-to-many.
Um itemPedido composto de um produto, ou seja, one-to-one.
Acho que isso resolveria o problema. Me corrijam se eu estiver errado.
[]'s
[/quote]
Pode ser, se nao tiver jeito de fazer como o meu, eu faco a sua modelagem. Mas a modelagem q fiz achei a mais simples e o problema ta na complicacao de mapear p hibernate, pois em banco eu vivo fazendo e vendo esse tipo relacionamento. O teu resolve, so q vai aumentar o numero de tabelas e de codigo tb, mas se eu n conseguir vo fazer assim msm.
ALguem teria um “hbm.xml” q mapeasse um relacionamento desse p me ajudar??? Pq no site do Hibernate n tem 1 completo, so tem trechos, e n to acertando…