[Resolvido]Associação N pra N

5 respostas
devvdevv.interior

Gostaria agora de uma dica como criar as classes usando N para N
Tenho uma classe Grupos - Funcionalidades, que então gera-se a classe Permissões.
Estou com duvidas tambem na parte do todo parte que temos a classe Usuarios.

5 Respostas

maior_abandonado

JPA?

veja se isso resolve: http://www.guj.com.br/prepost/237491/1223932/problema-na-criacao-de-classes-n-pra-n-usando-jpa

Lucas_Abbatepaolo

creio q vc pode usar algum tipo de colection em cada classe

por exemplo na classe funcoinalidades vc tem uma lista de permissoes

devvdevv.interior

maior_abandonado:
JPA?

veja se isso resolve: http://www.guj.com.br/prepost/237491/1223932/problema-na-criacao-de-classes-n-pra-n-usando-jpa

Não consegui assimilar ainda este exemplo “me parece complexo” hehe
:frowning:

maior_abandonado

bom… na sua classe Grupo você poderia ter uma lista de funcionalidades (somente as que o grupo tiver permissão) e na classe Funcionalidade, você pode ter também a lista dos grupos que tem permissão… formando assim um many to many com a tabela permissoes como auxiliar usada para ligação entre as outras duas (é a que você vai usar nas anotações joinTable, o nome dela fica no atributo name da anotação e seus campos ficariam na joincollumn e inversejoincolumn).

A unica diferença seria que você colocou no seu objeto Permissões da figura um atributo codigo que acredito que seja o id, enquanto no exemplo que deixei la o id da tabela auxiliar ficaria nos campos “id_grupo” e “id_funcionalidade”, que ficariam na tabela na base de dados, você declara isso no seu código java.

devvdevv.interior

maior_abandonado:
bom… na sua classe Grupo você poderia ter uma lista de funcionalidades (somente as que o grupo tiver permissão) e na classe Funcionalidade, você pode ter também a lista dos grupos que tem permissão… formando assim um many to many com a tabela permissoes como auxiliar usada para ligação entre as outras duas (é a que você vai usar nas anotações joinTable, o nome dela fica no atributo name da anotação e seus campos ficariam na joincollumn e inversejoincolumn).

A unica diferença seria que você colocou no seu objeto Permissões da figura um atributo codigo que acredito que seja o id, enquanto no exemplo que deixei la o id da tabela auxiliar ficaria nos campos “id_grupo” e “id_funcionalidade”, que ficariam na tabela na base de dados, você declara isso no seu código java.

Ahn certo, agora entendi… vou fazer aqui, qualquer duvida volto a postar
Obrigado! :slight_smile:

Criado 4 de abril de 2011
Ultima resposta 4 de abr. de 2011
Respostas 5
Participantes 3