Problemas em inserir uma lista da mesma classe [RESOLVIDO]

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.

Acho que o problema é que já existe um objeto com esse mesmo identificador associado a essa sessão.

No método save(Object t) tenta fechar a sessão depois de executar o commit. E faz o teste para ver o que acontece.

Boa cara… fechei a sessao apos a transação ser comitada e nao deu mais o erro. Ficou assim o codigo.

public void save(Object t) throws Exception {
		logger.info("salvando  " + t);
		getSession().beginTransaction();		
		getSession().save(t);
		getSession().getTransaction().commit();
		getSession().close();

	}

private Session getSession() {		
		if (session == null || !session.isConnected()) {
			SessionFactory sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
			session = sessionFactory.openSession();
		}
		return session;
	}

Muito obrigado pela ajuda romarcio.