Pessoal estou migrando minha aplicação para utilizar as anotações do Spring.
Antes eu utilizava o saveOrUpdate sem nenhum problema, quando tentava persistir um objeto com uma PK já existente.
Agora quando tento fazer o mesmo com o uso das anotações do spring estou recebendo aquela exception de que existem dois objetos com o mesmo ID na mesma sessão.
Alguém sabe me falar o que devo fazer para evitar esse tipo de problema e continuar usando o saveOrUpdate.
@Transactional(readOnly = false, propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED)
public T saveOrUpdate(T object) {
try {
getSession().saveOrUpdate(object);
return object;
} catch (HibernateException e) {
throw convertHibernateAccessException(e);
}
}
Testei com @Transaction somente e não funciono.
Também testei com o “merge” e dai funciono sem problemas a persistencia.
a different object with the same identifier value was already associated with the session: [br.com.teste.domain.Agencia#8]
Muito Obrigado pessoal, boa pascoa a todos!