| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/07/2008 13:33:45
|
DirceuSobrinho
JavaChild
![[Avatar]](/images/avatar/8f7d4d570dd8d2de4e4713dc37719db8.jpg)
Membro desde: 21/01/2007 08:49:02
Mensagens: 139
Localização: Maceió - AL
Offline
|
Olá...
Estou usando OpenSessionInView e ele está resolvendo quase todos os problemas com Lazy Initialization Exception.
Exceto em um caso, quando pagino o resultado de uma busca.
Situação:
Quando efetuo a busca obtenho resultado ok com todas coleções que estão definidas como lazy obtidas atraves OSIV
quando uso a paginacao do richfaces (rich:datascroller), tento acessar a segunda pagina do resultado da busca a Lazy Initialization Exception é disparada, pois a sessão ja está fechada, sendo assim OSIV nao consegue obter as coleções lazy
Alguem faz ideia de como posso resolver este problema?
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/07/2008 15:01:10
|
Felagund
GUJ Master
![[Avatar]](/images/avatar/d8d855c465198499868fb2b566ebee8d.jpg)
Membro desde: 26/07/2006 11:51:36
Mensagens: 1732
Localização: Santa e Bela Catarina
Offline
|
se tiver usando mapeamentos xml adiciona no .hbm.xml dos seus Beans em cada uma das collection o atributo lazy="false" vai dar uma carga extra na sua aplicação mas não vai dar erro.
ou ideia é na camada DAO, no metodo por exemplo getWithCollection()
vc faz um JOIN que não tera problemas
lembre-se de adicionar o select pois se não for selecionado ele retornará um HashMap.
[]'s
|
att
Rafael Felix
Rolling With Code
Twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/07/2008 15:19:45
|
DirceuSobrinho
JavaChild
![[Avatar]](/images/avatar/8f7d4d570dd8d2de4e4713dc37719db8.jpg)
Membro desde: 21/01/2007 08:49:02
Mensagens: 139
Localização: Maceió - AL
Offline
|
estou com problemas de performace lazy=false, aumenta meu problema =/
no caso do join, é melhor que o lazy=false, no entanto, nao me agrado mt.
pois tenho varias consultas como essa:
e se eu utilizar join terei que adicionar nesses metodos o FetchMode.JOIN, ficando o metodo assim: [ficando algo parecendo um lazy=false]
onde estarei carregando os objetos desnecessariamentes, pois como pagino o resultado em 10 e 10.
com o join carregarei logo os 100 objetos, ja com o OSIV vou carregando a medida que o usuário for avançado.
O que eu gostaria mesmo de saber, é se tem como OSIV manter a sessão aberta em algumas paginas espeficicas, no caso, as de resultado de busca!
Att. Dirceu
|
|
|
 |
|
|
|
|