JPA / ManyToMany - Coleção de dados

1 resposta
ynaue

Oi pessoal!

Tenho uma tabela usarios e outra privilegios que possui o relacionamento de muito para muitos.

Mapeando -> no usuarios vou ter uma [color=darkblue]lista de privilegios[/color] e
no privilegios uma [color=darkblue]lista de usuarios[/color].
Certo?

Segundo o fluxo do meu sistema, qdo vou inserir um Usuario os privilegios ja estão cadastrados.
Só que para inserir no usuarios e fazer o relacionamento entre as tabelas usuarios -> privilegios eu vou ter que preencher uma Lista com Objetos Pivilegios

[color=brown]É aqui que esta a minha duvida!!! [/color]Eu tenho que passar o objeto inteiro???
Não tem como eu passar apenas o ID do privilegio???
Porque nessa hora eu tenho apenas o ID e estaria gastando transação atoa fazendo uma busca para cada ID, só para receber o objeto inteiro.

Se sim como ficaria??? O que eu teria que mudar???

Os meus relacionamentos estão assim:

public class Usuarios implements Serializable { // Chave @Id @SequenceGenerator(name="usuario_seq", allocationSize=1) @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="usuario_seq") @Column(name = "usuario_id", nullable = false) private int usuarioId; ... // Relacionamento @JoinTable(name = "privilegios_usuarios", joinColumns = {@JoinColumn(name = "usuario_id", referencedColumnName = "usuario_id")}, inverseJoinColumns = {@JoinColumn(name = "privilegio_id", referencedColumnName = "privilegio_id")}) @ManyToMany private List<Privilegios> privilegioList; ....

e assim:

public class Privilegios implements Serializable { // Chave @Id @SequenceGenerator(name="privilegio_seq", allocationSize=1) @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="privilegio_seq") @Column(name = "privilegio_id", nullable = false) private int privilegioId ... // Relacionamento @ManyToMany(mappedBy = "privilegioList" ) private List<Usuarios> usuarioList; ...

Obrigada!!!

1 Resposta

W

Olá,

Talvez isso possa te ajudar
http://www.caucho.com/resin-3.0/amber/tutorial/cmp-many2many/index.xtp

Wallfox

Criado 14 de fevereiro de 2007
Ultima resposta 14 de fev. de 2007
Respostas 1
Participantes 2