DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Java Magazine ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Video: Desvendando o JPA - Aula 6 - Mapeamento UM para MUITOS

Nesta vídeo aula faremos um mapeamento de UM para MUITOS.

Título:

Tempo: 00:14:24

Mini-Resumo: Nesta vídeo aula faremos um mapeamento de UM para MUITOS,. ou seja 1:N , muito utilizado quando falamos de relacionamentos, o mapeamento 1:N é expressado de forma singular no JPA que faz questão de conserva o bom entendimento do programador. Abordamos também o AUTOMATIC STATE DETECTION do JPA.

Exemplos construídos: Construídos o mapeamento da entidade Address em forma de LISTA para a entidade People, ou seja um People tem VARIOS Address. Simplesmente imperdível para entender o funcionamento do JPA.

Tecnologias Utilizadas: Java SE 6, NetBeans 6.5, JPA 1.0, Hibernate 3.3 e TopLink Essentials

Palavras chaves: netbeans6 jpa hibernate orm java j2se java6







    6 COMENTÁRIOS

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.



Manoel Cotts De Queiroz
olá Dyego,
Primeiro, excelente seus cursos.
Estou fazendo uns testes com os mapeamentos um para muitos e acontece que quando recupero as pessoas, vem duplicado, melhor, vem repetido. Se a Pessoa tiver 3 Enderecos, a lista de pessoas recuperadas vem repetida 3x a mesma pessoa. E fiz o mapeamento basicamente igual ao seu..
agradeço se puder reponder.. manoel
[há +1 mês] - Responder

 

[autor] Dyego Souza Do Carmo
Já tentou mandar o "NetBeans" fazer engenharia reversa do seu banco ? Opção "Entity from Database", ai vc descobre o que pode estar de errado.
[há +1 mês] - Responder
 

Manoel Cotts De Queiroz
olá Dyego, fiz o download do netbeans e segui sua sugestão.

mas, meu mapeamento está correto. Mesmo assim continua a trazer uma pessoa, para cada endereço... causando erro na lista de pessoas...

vou colocar os dois mapeamentos aqui, se puder dá uma olhada.

PEssoa: (o EAGER é proposital, pois, monto uma "tabela" com os endereços na consulta)

@OneToMany(mappedBy="pessoa", cascade=CascadeType.ALL, fetch=FetchType.EAGER)
private List listaEndereco;

Endereco:
@ManyToOne(optional=false)
@JoinColumn(name="id_pessoa", referencedColumnName="id_pessoa")
private Pessoa pessoa;



[há +1 mês] - Responder
 

[autor] Dyego Souza Do Carmo
Muito estranho , está parecendo que o relacionamento está ao inverso... invés do relacionamento esta na tabela Enderecos ele esta na tabela pessoa ?
[há +1 mês] - Responder
 

Enio Nunes
Olá, Dyego!

Estou com uma dúvida... Estou fazendo um relacionamento de Um para Muitos, entre duas tabelas: MovimentoLivro e ItensMovimentoLivro, sendo que em MovimentoLivro tenho um lista de ItensMovimentoLivro. No entanto, como coloquei o Id do MovimentoLivro para ser criado pelo banco, ao gravar o movimentoLivro eu insero a lista de ItensMovimentacaoLivro, e ao gravar no banco estou com o seguinte problema:

Na tabela itensMovimentacaoLivro tenho o id_Movimentacao_livro que é um referencia à classe MovimentacaoLivro, porém tal campo é gravado null. No método que gravo os dados quando mando gravar envio sem o ID (para que o banco grave), porém pensei que implementando a notação @OneToMany usando cascade quando o banco de dados gerasse o id automáticamente ele gravaria o Id_movimentação na chave estrangeira do banco. Realmente ele não fará isso, ou será que eu implementei alguma coisa errada. Segue meu código:

itensMovimentacaoLivro

@ManyToOne
@JoinColumn(name = "id_movimentacaoLivro")
private MovimentacaoLivro idmovimentacaoLivro;

MovimentacaoLivro

@OneToMany(mappedBy="idmovimentacaoLivro",cascade=CascadeType.ALL)
private List<ItensMovimentacaoLivro> itensMovimentacaoLivroList;
[há +1 mês] - Responder

 

[autor] Dyego Souza Do Carmo
Chegou usar o NetBeans para gerar as entidades lendo seu banco ? Ele faz isso e vc descobre na hora o problema ;D
[há +1 mês] - Responder
 



Publicidade
Curso Online
Este post faz parte de:

Curso(s):
  •  Desvendando o JPA

    Formações:
  •  Formação Java web Developer
  • Autor
    Dyego Souza Do Carmo

    Engenheiro da Computação e evangelista da tecnologia Java , a mais de 15 anos especialista no sistema operacional linux. Programador Java a 8 anos sendo especialista em desenvolvimento de aplicações Java EE utilizando objetos distribuidos e Swing. Consultoria em Dúvidas - Http://www.forHelp.Us


    Space do autor
    Estatísticas
    Favorito:
    Comentários:
    Feedback:
    Utilidade:
    2   0
    [Fechar]

    Você precisa estar logado para dar um feedback.

    Clique aqui para efetuar o login
    [Fechar]


    Este post está fechado. Saiba mais sobre a assinatura MVP!
    web-03
    DevMedia  |  Anuncie  |  Fale conosco
    Hospedagem web por Porta 80 Web Hosting
    2012 - Todos os Direitos Reservados a web-03