Relacionamento many-to-many

6 respostas
batista.gerson

Olá pessoal
to com um problema com anotacoes many-to-many
e o seguinte tenho um relacionamento fila-guiche-usuario
Fila

@ManyToMany(fetch = FetchType.LAZY)
    @JoinTable(name = "fila_guiche",joinColumns = {@JoinColumn(name = "id_fila")},
    inverseJoinColumns = {@JoinColumn(name = "id_guiche")})
    private List<Guiche> guiches;

Guiche

@ManyToMany(fetch = FetchType.LAZY)
    @JoinTable(name = "fila_guiche", joinColumns = {@JoinColumn(name = "id_guiche")},
    inverseJoinColumns = {@JoinColumn(name = "id_fila")})
    private List<Fila> filas;

    @ManyToMany(fetch = FetchType.EAGER)
    @JoinTable(name = "usuario_guiche", joinColumns = {@JoinColumn(name = "id_guiche")},
    inverseJoinColumns = {@JoinColumn(name = "id_usuario")})
    private List<Usuario> usuarios;

Usuario

@ManyToMany(fetch = FetchType.LAZY)
    @JoinTable(name = "usuario_guiche",joinColumns = {@JoinColumn(name = "id_usuario")},
    inverseJoinColumns = {@JoinColumn(name = "id_guiche")})
    private List<Guiche> guiches;

O problema e o seguinte apenas o usuario ta trazendo os guiches associados, o guiche nao traz o usuario associado e nem a fila, do mesmo jeito a fila nao traz o guiche associado.

Me ajudem.

6 Respostas

alanbrasil1984

isso é pq so o guinche ta com fetchtype eager…

batista.gerson

alanbrasil1984
acabei d trocar pra
fetch = FetchType.LAZY
e continua acontecendo a mesma coisa.

alanbrasil1984

mais o que traz automatico é o eager entende porisso so ele estava trazendo…

nos outros vc terá que fazer uma query para buscar ou na propria query buscar tireto com o fetch…

batista.gerson

hum…
o lazy nao traz apenas quando e acessado pela primeira vez??

alanbrasil1984

veja isso…

http://www.guj.com.br/posts/list/87079.java

batista.gerson

Vlw alanbrasil1984
resolvi com a pesquisa do jeito q vc recomendou.

abraço.

Criado 16 de junho de 2009
Ultima resposta 17 de jun. de 2009
Respostas 6
Participantes 2