Tenho uma aplicação WEB de loja virtual usando Hibernate 3. Quando o cliente faz login, carrego seus dados do banco assim como todos os seus pedidos já feitos.
Ao criar um novo Pedido a aplicação lança NonUniqueObjectException quando tenta salvar o pedido. O erro ocorre na chamada a saveOrUpdate(pedido)
.
Sei que este erro ocorre quando tentamos usar um objeto igual ao que já está atachado à session do Hibernate. O que eu não entendo é que sempre fecho a sessão a cada chamada de método, isso não deveria acontecer, eu acho…
O fluxo é o seguinte:
- Load Cliente (tem Pedidos, ItemPedido e Produto atachados a ele)
- session.close();
- Cria new Pedido
- saveOrUpdate(pedido)
- exceção lançada.
Alguém tem alguma idéia?