Org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction

Boa tarde!
Não consegui descobrir que erro é esse, o que pode estar acontecendo?


	public void merge(T bean) throws DaoException {
		try {
			session.merge(bean);
			session.flush();
			//session.refresh(bean);
		} catch (HibernateException he) {
			throw new DaoException(he);
		}
	}

Como arrumar???

Vc está fechando sua transação?

Meu método é apenas este:

	public void merge(T bean) throws DaoException {
		try {
			session.merge(bean);
			session.flush();
			session.refresh(bean);
		} catch (HibernateException he) {
			throw new DaoException(he);
		}
	}

Então acho que não estou… como fazer?
(Java não é meu forte).

De primeira funciona, o problema é que se tento uma segunda vez dispara este erro. Aparentemente alguma transação está trancada.

Achei que o método flush() resolveria essa bronca…

Alguma sugestão?

Sim,

Leia esse post: JPA: Mini Livro - Primeiros passos e conceitos detalhados.

Ele explica todo o básico de JPA que vc precisa saber para utilizar hibernate numa boa.

Flush ele força as alterações a serem escritas no banco de dados.

Você precisa abrir a transação e fechá-la ao final de tudo.