Hibernate - quando devo fecharr a sessão?

3 respostas
_filipe

galera, dúvida rapida …

Estou usando hibernate na minha aplicação, e várias vezes estou tendo dor de cabeça com a sessão do hibernate … quando ele encontra um objeto do mesmo tipo, ja referencia na sessão, com o mesmo id, ele da pau … isso acontece, porque minha sessão é um singletoon e eu a mantenho aberta o tempo todo …

A duvida, quando devo fechar a sessão, depois de operações dml ? depois de um select !? depois de qualquer operação ?

abraços

3 Respostas

psandrelli

Eu sempre fecho após qualquer transação. Evita problemas de sessão aberta.

diegocalazans

O correto é fechar sempre após alguma operação(depois de um commit, rollback), pois a mesma não é “Thread Safe” e pode conter objetos sujos, a que deve ser singleton é a “session factory”.

lucianobsi

Vc pode também dar apenas um flush() na sessão que atualiza no banco e deixa a sessão preparada para qualquer outra transação.

Pois determandas situação é desnecessario fechar e abrir uma sessão logo em seguinda.

Isso já me salvou varias vezes.

Espero ter ajudado

At+

Criado 17 de janeiro de 2008
Ultima resposta 17 de jan. de 2008
Respostas 3
Participantes 4