@ManyToMany - mappedBy

3 respostas
igor_ks

Em um relacionamento @OneToMany, nós anotamos com a propriedade mappedBy pra falar que a outra classe é a classe dominante. OK, até ai tudo bem, quer dizer que o código (id) dessa tabela estará na outra tabela.

Mas e num relacionamento @ManyToMany, tanto faz onde fica o mappedBy? Qual definir qual será a classe dominante e porque ela seria dominante se terá uma tabela relacional entre as duas?

Em relação ao @JoinTable, tanto faz também em qual List (exemplo) anotar? ou @JoinTable ficará sempre na classe dominante?

3 Respostas

Hebert_Coelho

No ManyToMany tanto faz, pode ser em qualquer ponta.

Em geral o @JoinTable fica do lado dominante. [=

igor_ks

E o que seria classe dominante em um relacionamento ManyToMany?

Hebert_Coelho

igor_ks:
E o que seria classe dominante em um relacionamento ManyToMany?
A classe que o JPA saberia de onde procurar pela tabela do relacionamento.

Se você usar um ManyToMany sem o mappedBy, o JPA irá procurar por duas tabelas distintas. Nesse caso vamos supor: casa_cachorro e cachorro_casa.
Com o mappedBy ele procuraria apenas por uma tabela: casa_cachorro.

Criado 15 de outubro de 2012
Ultima resposta 15 de out. de 2012
Respostas 3
Participantes 2