Mapeamento N-N com atributos. Dúvida Técnica  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
Bruno Lacerda
JavaEvangelist
[Avatar]

Membro desde: 16/07/2007 11:17:52
Mensagens: 371
Localização: Rio de Janeiro
Offline

Boa tarde pessoal!
Estou tentando fazer pela primeira vez um relacionamento no Hibernate utilizando Chave Composta.
O problema não é este. Já criei as classes e os atributos mas agorq estou com uma dúvida aqui.
O relacionamento é o famoso Produto -> ItemDoPedido <- Pedido onde a chave composta da tabela ItemDoPedido é obtida através da chave do produto com a chave do Pedido.
Até aí beleza.
A dúvida:
Suponha que em um mesmo pedido eu tenha mais de um Item referente ao mesmo Produto. E agora?
Detalhe, cada item, mesmo sendo referente ao mesmo produto pode possuir características próprias como largura e altura.
Como ficaria isto?

Imaginei criar um id para o Item do produto independente da chave composta, logo o Item do pedido teria o seu id e a chave composta.

Viajei ou é por aí?

A morte do homem começa no instante em que ele desiste de aprender.
mcbrain
Thread.start()

Membro desde: 01/06/2009 17:51:25
Mensagens: 34
Localização: Imaginário
Offline

Eu faria algo diferente. Imagine cada Produto concreto do pedido (com suas características altura, largura etc) tendo um ID único, e um atributo (chave estrangeira) referenciando TipoProduto (abstrato). Desta forma você poderia usar o ID da tabela Produto como chave estrangeira da tabela ItemDoPedido, pois cada Produto seria realmente único.

[]s
--mcbrain

Aut dosce, aut disce, aut discede.
Bruno Lacerda
JavaEvangelist
[Avatar]

Membro desde: 16/07/2007 11:17:52
Mensagens: 371
Localização: Rio de Janeiro
Offline

Olá amigo!.
Acho que entendi.

Então ficaria:
Pedido <- ItemDoPedido <- Produto

Pô aí, bacana hein, show.
Muito menos dor de cabeça.
Valeu mesmo!

Grande abraço.
Bom final de semana.


A morte do homem começa no instante em que ele desiste de aprender.
 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team