Bom dia !
Bom olha eu vejo que o problema ai é somente seu controle de session,você
esta fechando a conexao,e se você poe como Lazy a cada getAtributo() você
vai no banco e consulta,sendo um left join então ele quando esta tentando
pegar algum atributo ou left das tabelas sua sessão ja esta fechada,então
te aconselho controlar sua session ,tive esse problema de sessions com
collection lazy e resolvi utilizando o singleton onde gerencia -se a
session e com herança,qualquer duvida eu posso te mostrar como você poderia
fazer.
valeu
boa sorte!
Em 7 de abril de 2012 17:42, Roger Rayner Cunha Bento <
roger.rayner@totvs.com.br> escreveu:
> **
>
>
> Boa tarde,
>
> Estou com um problema que não estou conseguindo resolver. Já pesquisei na
> web e não consegui encontrar uma solução. Espero que alguém já tenha
> passado por isso e possa me ajudar.
>
> Tenho duas classes com relacionamento @ManyToMany (definções abaixo).
>
> User
> @ManyToMany(mappedBy="userList", fetch=FetchType.LAZY)
> private Set<UserGroup> userGroupList = new HashSet<UserGroup>();
>
> UserGroup
> @ManyToMany(fetch=FetchType.LAZY, cascade= {CascadeType.DETACH,
> CascadeType.PERSIST, CascadeType.MERGE})
> @JoinTable(name="USER_GROUP_RELAC",
> joinColumns={@JoinColumn(name="OID_USER_GROUP")},
> inverseJoinColumns={@JoinColumn(name="OID_USER")})
> private Set<User> userList = new HashSet<User>();
>
> Como podem ver ambas as listas eu coloquei como fetch=FetchType.LAZY pois
> não quero sobrecarregar a aplicação. Quando vou buscar o meu usuário pelo
> id (que só irá retornar 1 registro) uso a EJB QL abaixo:
>
> @NamedQuery(name="UserById",
> query="FROM User u LEFT JOIN FETCH u.emailList " +
> "LEFT JOIN FETCH u.userGroupList " +
> "where u.user_id like :user_id"),
>
> Mesmo utilizando o LEFT JOIN FETCH é retornado o erro abaixo e não sei
> mais oq fazer.
>
> failed to lazily initialize a collection of role:
> content.UserGroup.userList, no session or session was closed
>
> O LEFT JOIN FETCH não deveria carregar minhas coleções? Para evitar o erro
> da sessão já estar fechada? Alguem sabe como me ajudar?
>
> Fico no aguardo.
>
> Obrigado.
>
>
>
--
Sergio Felipe Santiago Moreira
*Site*: http://misistema.zapto.org:8090
[As partes desta mensagem que não continham texto foram removidas]
------------------------------------
Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-brLinks do Yahoo! Grupos
<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/java-br/
<*> Para sair deste grupo, envie um e-mail para:
java-br-unsubscribe@yahoogrupos.com.br
<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html
0 comentários:
Postar um comentário