Boa tarde, estou tetando salvar uma lista de objetos e quando ele vai salvar o segundo objeto da minha lista ele lança a seguinte excessao.
org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session:
Segue abaixo o codigo que fiz. Somente na segunda iteraçao que ele lança a excessao, ou seja, ele salva o primeiro registro da lista e da a excessao no segundo.
for (OraclePessoa oraclePessoa : listOPessoas) {
user = new UserSM2();
user = ConverterObjectForOther.converterOraclePessoasForUserSM2(oraclePessoa);
user.setHandHeld(handHeld);
//chama o metodo da DAO para salvar objeto user
userDao.savePessoas(user);
}
public void savePessoas(UserSM2 user)throws Exception {
//chama o metodo save da classe generica
super.save(user);
}
public void save(Object t) throws Exception {
logger.info("salvando " + t);
getSession().beginTransaction();
getSession().save(t);
getSession().getTransaction().commit();
}
private Session getSession() {
if (session == null || !session.isConnected()) {
SessionFactory sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
session = sessionFactory.openSession();
}
return session;
}
Se alguem puder ajudar, muito obrigado.