Relacionamento Hibernate

.

Tem um tutorial, simples e direto, que é do blog do jakefrog

JPA Consultas e Dicas

Mas sinceramente se você está começando com Hibernate eu sugiro que dê uma lida a respeito, veja um pouco da documentação, não saia fazendo sem saber quem é quem ou o que é o que. Esse tutorial pode ser um bom começo.

Anotações!!!

NotaFiscal{   
          private int id;  
          private int numeroDaNota;  
          @OneToMany          
          private List<Produto> listaDeProdutos;  
} 

Anotações!!!

NotaFiscal{   
          private int id;  
          private int numeroDaNota;  
          @OneToMany          
          private List<Produto> listaDeProdutos;  
} 

mas não seria ManyToMany?

pq um produto pode estar em várias notas fiscais e uma nota fiscal pode ter vários produtos

Eu não relacionaria Produto e NotaFiscal, pois teóricamente voce pode ter mais coisas com produtos, como por exemplo movimentação do estoque.
Imagina de for colocar tudo em Produto!!!

Produto {   
          private int id;  
          private String Nome;  
          private double valor;  
          private List<NotaFiscal> listaDeNotas;
          private List<MovEstoque> listaDeMovimentos;
}  

Mas você não precisa ter uma referência de NotaFiscal em Produto pra realizar o relacionamento ManyToMany.class NotaFiscal{ @ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.LAZY) @JoinTable(name = "NOTAFISCALPRODUTOS", schema = "BD", joinColumns = { @JoinColumn(name = "IDPRODUTO", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "IDNOTAFISCAL", nullable = false, updatable = false) }) private List<Produto> produtos; }

deram a luz… vlw msm!!

Perfeito!!!
Mas acabou de criar um nova tabela do teu banco. NOTAFISCALPRODUTOS
Fazendo o mesmo com as movimentações do estoque. MOVIMENTACAOPRODUTOS.

Sei lá, eu não faço assim.

[quote=asandrob]Perfeito!!!
Mas acabou de criar um nova tabela do teu banco. NOTAFISCALPRODUTOS
Fazendo o mesmo com as movimentações do estoque. MOVIMENTACAOPRODUTOS.

Sei lá, eu não faço assim.[/quote]

Como você faz um relacionamento N-N ?

Grande Rodrigo, faço exatamente como tu sugeriu…

Mas no caso de notas e produtos.
Eu entendo que notas tem muitos itens e cada item da nota tem somente um produto.
Então nota e produtos estão relacionados através de itens.
Produtos tem os dados dele, como codigo, descrição, unidade, etc.
Item tem os dados de vlr unitário, quantidade, etc.
E nota, fornecedor, númeronf, etc.

Sempre que possível eu desvio de um ManyToMany. Questão de opção.

[quote=asandrob]Grande Rodrigo, faço exatamente como tu sugeriu…

Mas no caso de notas e produtos.
Eu entendo que notas tem muitos itens e cada item da nota tem somente um produto.
Então nota e produtos estão relacionados através de itens.
Produtos tem os dados dele, como codigo, descrição, unidade, etc.
Item tem os dados de vlr unitário, quantidade, etc.
E nota, fornecedor, númeronf, etc.

Sempre que possível eu desvio de um ManyToMany. Questão de opção.[/quote]
Muito bom, é… eu faço igual hehehehe :slight_smile: ficou boa sua colocação, aí o autor do tópico vê que tem mais de uma saída pro problema dele.

vlw galeraaaa

agora deu esse erro

java.sql.BatchUpdateException: Duplicate entry ‘1’ for key ‘itens_id’

alguem jah viu?