Many to Many não faz nada no hibernate :(  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
mendigosujo
JavaEvangelist

Membro desde: 24/09/2007 08:28:23
Mensagens: 326
Offline

Fala feras

Tenho 3 tabelas pra criar meu relacionamento N-N só que não estou conseguindo fazer isso no Hibernate. Mapiei minhas tabelas da seguinte maneira:


IdiomaPessoaTO -> Tabela que vai mapear os relacioanemtnso entre as tabelas das entidades PessoaTO e IdiomaTO


PessoaTO


IdiomaTO


A tabela de Idiomas apenas vai armazenar uma lista de idiomas e seu id deverá fazer referência com os objetos Pessoa que selecionamente. Após o mapeamento, eu tentei fazer no service:



O problema é que os relacionamento 1-1 sao inseridos normalmente mas os que são mais de 1, não fazem nada...não inserem e nem dão erro. O que estou errando?

Abs
partenon
JavaChild
[Avatar]
Membro desde: 27/06/2010 15:08:10
Mensagens: 103
Localização: Brno, Czech Republic
Offline

Bom, tecnicamente, este nao eh um relacionamento N-N. Isso sao dois relacionamentos 1-N. Veja:

Uma Pessoa tem ConhecimentoIdioma (1-N)
ConhecimentoIdioma consiste em nivel de proficiencia e em um idioma (a partir que o "relacionamento" tenha uma propriedade extra, ele deixa de ser uma tabela de ligacao ou relacionamento para ser uma entidade por si so).
Um Idioma nao "pertence" a nenhuma pessoa (eh a ponta "passiva" do relacionamento). Nao faz sentido ligar de volta o idioma (bi-directional relationship), mas ele tambem seria um 1-N se for mapeado.

Eu recomendaria fazer assim, caso tenha flexibilidade para mudar:


Mas caso realmente precise fazer do jeito que esta tentando, eu diria que o problema eh que vc nao esta mapeando os relacionamentos em seu IdiomaPessoaTO (alem do que, vc esta usando um Long para representar um idioma e uma pessoa). O correto seria usar IdiomaTO e PessoaTO (no lugar de Long) e mapear os relacionamentos como dois ManyToOne no IdiomaPessoaTO (e OneToMany com mappedBy nas outras pontas):



http://www.google.com/profiles/partenon
[WWW]
 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team