Galera estou precisando de uma direção com um problema o velho e conhecido lazy exception, toda vez que tenho one to many e preciso carregar uma coleção de objetos dá essa exception. Já pesquisei, já entendi do assunto e estou usando para solucionar o open session in view filter no meu aplication context no spring, mas mesmo assim não resolveu. Já tentei o filter no web.xml e mesma coisa. O que pode ser que eu esteja pecando, alguma sugestão?
Utilizar o open in view session resolve este problema desde que o objeto que vc está tentando acessar dure o escopo da request, onde a session do hibernate foi aberta, caso ele dure um tempo maior que a request(escopo session por exemplo) poderá ocorrer o Lazyload exception, pois uma nova sessão foi aberta e a antiga a qual o seu objeto estava attached ja foi fechada.
è o que está acontecendo comigo, a sessão já está fechada e precisa estar aberta. Meu bean tem escopo session realmente. Como posso resolver esse problema já que o open session in view não resolve?
Esse caso está acontencedo em todos os meus mapeamentos one to many, já que preciso trazer a coleção dentro do objeto referenciado.
[quote=rjdiogo]è o que está acontecendo comigo, a sessão já está fechada e precisa estar aberta. Meu bean tem escopo session realmente. Como posso resolver esse problema já que o open session in view não resolve?
Esse caso está acontencedo em todos os meus mapeamentos one to many, já que preciso trazer a coleção dentro do objeto referenciado.
Abraço[/quote]
Neste caso vc necessita colocar o seu objeto na session do hibernate novamente, para isso vc pode dar um find novamente antes do local que deu lazyload por exemplo ou então fazer uma query que retorne o resultado que deseja.
É galera consegui resolver do jeito que vocês falaram, infelizmente é mais um find que tem que fazer… ou seja, se você tem várias coleções de objetos dentro de um outro objeto vai ser um find pra cada um. Não sei se essa é a forma correta de usar o hibernate mas é a que resolveu o problema do lazy exception, em vários sites explicam o problema, mas não dizem como resolver. Valeu aee abração!
Como no meu objeto só preciso de preencher uma coleção, apenas mais um find, mantive do jeito que está, mas assim que tiver mais tempo vou testar o named querie então.