Olá pessoal, eu estou migrando uma aplicação web para hibernate. Estou usando tomcat, ou seja, um ambiente não gerenciando de transações. Na hora de escolher o padrão para controles de transaçoes optei por usar Open Session in the View; eu implemento um filtro que inicia transação antes da página ser processada e finaliza a transação depois que a página é processada. Ta ocorrendo o seguinte problema:
Quando carrego um objeto do banco, altero alguns atributos e mesmo não realizando um saveOrUpdate no session; o objeto está sendo persistido na hora que feito um commit na transação.
Eu preciso ler o objeto do banco por que tem dados que só são obrigatórios na hora da criação do objeto, mas na alteração preciso manter esses dados.
Então surgiram as seguintes dúvidas:
Seu carrego um objeto do banco, mudo alguns atributos, mesmo atualizando a sessão com métdos persist saveOrUpdate update, quando é realizado um commit na transação esse objeto é atualizado no banco?
Como faço para desassociar um objeto da sessão?