| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/09/2009 14:13:21
|
Deluxe
GUJ Ranger
![[Avatar]](/images/avatar/6d8e4836f22d0a921638c5a785a62896.jpg)
Membro desde: 26/04/2006 15:50:49
Mensagens: 793
Localização: Distrito Federal
Offline
|
Pessoal
tenho uma classe que tem uma lista dentro dela
classe:
Quando eu executo esse método
o erro acontece
Alguem sabe pq isso?
eu não entendo, se colocar EAGER, ai funciona tudo certinho
o problema que pesa minha aplicação.
Alguem sabe resolver esse problema ?
é alguma configuração de hibernate etc?
|
Eu tenho a humildade de aprender com as pessoas, e nao a arrogância de ensiar o que eu não sei... |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/09/2009 15:25:22
|
Deluxe
GUJ Ranger
![[Avatar]](/images/avatar/6d8e4836f22d0a921638c5a785a62896.jpg)
Membro desde: 26/04/2006 15:50:49
Mensagens: 793
Localização: Distrito Federal
Offline
|
ninguem nunca passou por isso
|
Eu tenho a humildade de aprender com as pessoas, e nao a arrogância de ensiar o que eu não sei... |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/09/2009 15:44:50
|
fabiofalci
GUJ Master
![[Avatar]](/images/avatar/c359889a833e7612e0cff1dc69d272bc.png)
Membro desde: 11/04/2006 09:23:14
Mensagens: 1057
Localização: Porto Alegre - RS
Offline
|
Se não quiser usar EAGER, então em cada consulta vc precisa acordar o relacionamento.
Se estiver usando Criteria, vc deve usar essa função.
E mais docs sobre isso
http://docs.jboss.org/hibernate/stable/core/reference/en/html/performance.html
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/09/2009 15:56:56
|
bronx
JavaTeenager
![[Avatar]](/images/avatar/9606eb3c0bc6676d20ca3196b94ba7e4.jpg)
Membro desde: 24/08/2009 02:59:47
Mensagens: 197
Offline
|
Esse erro ocorre quando você define uma Collection (List, Set etc) com fetchmode lazy e tenta acessar esse atributo após ter fechado a sessão do hibernate ou após esse objeto ter passado para o estado detached.
Sugiro que você utilize crie um filtro na tua servlet que abra e feche a sessão do Hibernate, garantindo que ela esteja sempre disponível durante todo o lifecycle da app.
Saca só:
E o HibernateUtil:
This message was edited 1 time. Last update was at 18/09/2009 15:58:01
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/09/2009 16:02:47
|
bronx
JavaTeenager
![[Avatar]](/images/avatar/9606eb3c0bc6676d20ca3196b94ba7e4.jpg)
Membro desde: 24/08/2009 02:59:47
Mensagens: 197
Offline
|
Ah! Se o teu objeto saiu do managed e foi pro detached state, só dar um update no objeto que resolve.
Mas recomendo dar um merge antes, para evitar a exception de redundância no cache do hibernate!
This message was edited 1 time. Last update was at 18/09/2009 16:03:10
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/02/2012 08:56:57
|
prog.tiago
Java Ninja
![[Avatar]](/images/avatar/a71ea93eea0dbc65cc0642882d7153f2.jpg)
Membro desde: 21/03/2010 20:03:58
Mensagens: 266
Localização: São Bernardo do Campo
Offline
|
Olá bronx,
O exemplo de filtro que você deu foi muito útil para um problema que estava arrancando meus cabelos.
Obrigado
Abraço
|
--
Tiago Silva
@progtiago
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/02/2012 13:29:01
|
princext
Thread.start()
Membro desde: 18/12/2009 08:58:15
Mensagens: 38
Offline
|
se sua appweb tiver Spring, no web.xml tem um filtro que vc coloca pra sessao do hibernate continuar aberta pra nao dar esse erro.. so nao lembro qual mas eh uma dica de start..
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/02/2012 16:39:34
|
bronx
JavaTeenager
![[Avatar]](/images/avatar/9606eb3c0bc6676d20ca3196b94ba7e4.jpg)
Membro desde: 24/08/2009 02:59:47
Mensagens: 197
Offline
|
Legal, Thiago.
É essencial entender esse lance dos estados do Hibernate.
A documentação do Hibernate é riquíssima, vale muito a pena gastar um tempo no site deles lendo-a! =D
|
|
|
 |
|
|