Hibernate: illegally attempted to associate a proxy with two open Sessions

6 respostas
W

Olá amigos

Estive procurando referências sobre este problema mas não encontrei nada conclusivo nem mesmo o modo como contornar. É uma situação relativamente simlpes mas que tem me dado uma certa dor de cabeça.
Este erro ocorre em uma página de atualização dos dados de uma classe que tem dois relacionamentos many-to-one. O usuário preenche as alterações na tela, submete, na action eu recupero os dados da base (os relacionamentos são lazy via proxy), eu atualizo o objeto com os dados informados na tela e mando salvar em outro banco, ou seja, outra sessão. O problema é que recebo a mensagem:

illegally attempted to associate a proxy with two open Sessions

Alguém teria alguma dica?

6 Respostas

M

Você tem certeza de que fechou a primeira sessão ou pelo menos deu um evict() no objeto?

W

Realmente não fiz isso.
Vou tentar.
Obrigado pela dica Maurício.

R

tbm estou com o mesmo problema, não sei o que acontece ?
será que tem aver com o ciclo de vida ?

A

Walterego…

estava com o mesmo problema agora pouco…

meu cenario era o seguinte…

1º - Fazia a consulta dos objetos
2º - Excluia o objeto
3º - Hora sim, Hora não o erro aparecia

Solução:

Depois da minha criteria coloquei:

HibernateUtility.closseSession();

HibernateUtility.commitTransaction();

Pronto erro resolvido pelo menos no meu cenario!!

Qualquer coisa dá um grito ai!!

xD~~

R

Bom fiz no meu e funcionou tbm!!
valeo!

R

Funcionou até um momento, pois onde se encontra realmente o problema é nos relacionamento das class com o hibernate
que foi usado ex:
@ManyToOne(fetch = FetchType.LAZY)

resolveu definitivamente o problema usando

dessa forma:
@ManyToOne(fetch = FetchType.EAGER)
com o eager

aqui tem um site que explica melhor a utilização desses dois itens:

http://www.jardelmorais.com/?page_id=959

Criado 28 de abril de 2006
Ultima resposta 15 de dez. de 2010
Respostas 6
Participantes 4