Session is closed!  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
Paulo Carvalho
What is classpath?

Membro desde: 22/02/2008 09:15:08
Mensagens: 6
Offline

Alguem pode decodificar essa mensagem? Consigo gerar o relatorio jasper mas sempre dá esse erro.


SEVERE: Servlet.service() for servlet default threw exception
org.hibernate.SessionException: Session is closed!
at org.hibernate.impl.AbstractSessionImpl.errorIfClosed(AbstractSessionImpl.java:49)
at org.hibernate.impl.SessionImpl.clear(SessionImpl.java:253)
at br.gov.pa.tj.processo.util.interceptors.HibernateInterceptor.intercept(HibernateInterceptor.java:32)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
joede.fadel
Virtual Machine Man
[Avatar]

Membro desde: 15/08/2007 00:42:59
Mensagens: 536
Localização: Curitiba/Pr
Offline

poste o seu código só com essa mensgem de erro fica dificil saber o que está ocorrendo

Joe S2 Jo
UTFPR - Universisdade Tecnologica Federal do Paraná
Java-PHP-PL/SQL
[Email]
otavio
JavaChild
[Avatar]

Membro desde: 01/08/2004 00:49:29
Mensagens: 139
Localização: JVM
Offline

Quando você uma Hibernate, a cada objeto que você usa, na verdade é um proxy fazendo um link para a Session do Hibernate.

Se eu fizer um load, por exemplo, de um objeto, esse objeto na verdade não é pesquisado no banco na hora, o hibernate apenas me retorna um proxy, e quando eu fizer algum get de alguma propriedade do objeto, aí o Hibernate usa esse link com a Session para realmente buscar o objeto na base de dados. Mais informações sobre isso você pode encontrar na documentação, tópico Lazy Load.

Então o que acontece é que por alguma razão quando você for fazer algum get a sessão do Hibernate já está fechada.

Para ajudar a resolver precisamos entender teu ambiente. Tem Spring? EJB? JPA? Hibernate?
Anderson Leite
Java Ninja
[Avatar]

Membro desde: 03/03/2005 09:53:07
Mensagens: 275
Offline

É isso mesmo que o otavio falou, o hibernate te delega um proxy managed que só dura enquanto a session está ativa.
Olhe o padrão Open Session In View, deve resolver seu problema.

[WWW] [MSN]
otavio
JavaChild
[Avatar]

Membro desde: 01/08/2004 00:49:29
Mensagens: 139
Localização: JVM
Offline

Anderson Leite wrote:É isso mesmo que o otavio falou, o hibernate te delega um proxy managed que só dura enquanto a session está ativa.
Olhe o padrão Open Session In View, deve resolver seu problema.


Exato. Por isso perguntei a ele o que está sendo usado no projeto, pois com Spring (por exemplo) há um filter que já faz esse trabalho, assim como outros frameworks.
Paulo Carvalho
What is classpath?

Membro desde: 22/02/2008 09:15:08
Mensagens: 6
Offline

estou trabalhando com struts 2 + hibernate + banco Oracle.
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team