Pessoal, estou chamando o comando a partir de um interceptor do Struts 2 e estou enfrentando problemas.
O que acontece, é que estou guardando um usuário na sessão, e quando eu tento recuperar alguma lista ou objeto desse usuário, é levantado uma exceção informando que a sessão já foi fechada.
Eu entendo que realmente a sessão foi fechada, pois na primeira vez que entrei neste tela, o usuário foi consultado no banco e gravado na sessão; e após a tela terminar de processar a sessão foi fechada.
Neste caso, alguém tem uma idéia de como resolver esse problema? Eu pensei em três soluções mas não sei se são boas:
-
Gravar apenas o ID do usuário ao invés do proprío e fazer a consulta sempre que chamar alguma funcionalidade.
-
Utilizar EAGER ao invés de LAZY, mas pode ser muito custoso ao banco.
-
Utilizar Spring. Parece ser a melhor solução, mas estou sem tempo pra estudar Spring, portanto se tiver uma alternativa é melhor.