Bom dia pessoal, estou desenvolvendo uma aplicação utilizando MyFaces/Hibernate, no momento em que meu usuário faz login na aplicação mantenho em Session um bean com as informações do usuário.
Em uma determinada pagina acesso esse meu Session Bean e recupero um atributo chamado Exportador nesse objeto tenho um Set chamado Produtos.
Para controlar minhas transações estou usando uma implementação do Mauricio Linhares dentro de um Filtro que está postada aqui no GUJ no tutorial de Hibernate.
Provavelmente porque você está carregando o objeto Exportador em uma requisição e indo mexer no set em OUTRA requisição.
(tenho a ligeira impresão de ter respondido isso antes…)
A
alots_ssa
Velho, tive exatamente o mesmo problema aqui na minha aplicacao.No forum do hibernate os caras disseram que quando vc quer fazer o lazy load de uma colecao de algum objeto depois de ja ter fechado a sessao vc tem que recolocar esse objeto na sessao com o seguinte metodo:
Se alguem puder nos ajudar vai ser muito bom. Procurei no google por essa excessao mas nao encontrei nada.
Alberto
A
alots_ssa
ao inves de usar o session.lock eu chamei o session.update para recolocar o objeto dentro da sessao seguindo a dica de um cara do forum do hibernate. Achei meio bizarra essa solucao, ele da um update na tabela ,so que nao acontece nada pois nada mudou, so para recolocar o objeto. Me parece que o lock e o mais correto de usar, se alguem souber de a ideia ae.
Alberto
smorigo
Olha no meu caso funciono perfeitamente!!! valeu pela ajuda!!!
A
alots_ssa
Vc usou o session.lock? ou deu um update?
Alberto
smorigo
Usei o session.lock antes de tentar recuperar meu Set.