Duvida com Hibernate

4 respostas
Thyago

Olá Pessoal,
Estou desenvolvendo um modulo de login. Criei um Pojo chamado User e defini a persistencia em uma variavel to tipo list conforme o exemplo abaixo:

@ManyToMany(targetEntity = br.com.criarenet.ibope.itvm2site.model.pojo.Group.class,
    cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.LAZY)
    @JoinTable(name = "tb_user_group",
    joinColumns = @JoinColumn(name = "cdUser"),
    inverseJoinColumns = @JoinColumn(name = "cdGroup"))
  
  private List<Group> groups;

Porém nesse exemplo eu faço o relacionamento entre tres tabelas > user, group, e tb_user_group onde essa ultima contém relacionamento n * n;
O objetivo é criar o relacionamento entre tabelas da seguinte maneira :

user está contido em um grupo >>>>    user > tb_user_group < group
o grupo possui algumas permissoes >>>>  group > tb_group_permission < permission

Meu problema é que agora estou querendo ao invés de criar um List para grupos, criar um list para permissões e não sei como colocar os tres joins no exemplo que mostrei acima.
Se alguem puder me ajduar agradeço. Caso tenham uma idéia melhor tbm ajuda. Abraço a todos

4 Respostas

L

naum sei se entendi bem,
Tente criar uma associacao de um para muitos entra as duas tabelas e a tabela de juncao,
sera necessario criar um classe que represente a chave primaria.

Thyago

Obrigado por ajudar lgweb!
Então eu criei uma tabela que contém os usuários(tb_user) e outra que contém os grupos(tb_group). A tabela que faz essa junção é a (tb_user_group).
Agora eu criei uma tabela que contém as permissoes do sistema (tb_permission) e uma outra chamada (tb_group_perimission) que irá conter o relacionamento entre as permissões(tb_permission) e o grupo (tb_group) .

O problema é que quando eu fiz o relacioanamento com o hibernate, fiz somente entre duas tabelas (tb_user e tb_group) associando o relacionamento na tabela tb_user_group. Agora gostaria de saber como é possivel eu colocar os joins referente as permissões nesse codigo de hibernate que postei pois eu tentei utilizar mais um @JoinTable e o netBeans já acusa erro informando “duplicate annotation”.

Valew!!!

L

Cara este topico me ajudou muito ha alguns anos atras,de uma olhada e ve se ajuda.
t+.
http://www.guj.com.br/posts/list/82951.java

Thyago

Valew pela dica!!!
Abraço

Criado 8 de março de 2010
Ultima resposta 10 de mar. de 2010
Respostas 4
Participantes 2