Merge, saveOrUpdate - erro ao atualizar

Mais uma dúvida pessoal

Segue o seguinte código (Se estiver viajando por favor me avisem)

Action

	public String saveOrUpdatePermissionario() throws Exception {
		PermissionarioDAO permDAO = new PermissionarioDAO();
		try {
			if(deSenha.equals(confirDeSenha)) {
				
				perm = permDAO.getInstance().pesquisarPermissionarioSISCOP(perm.getNrIdentidade());
				
				perm.setDeSenha(deSenha);
				perm.setEmail(email);
				perm.setFone(fone);
				
				permDAO.getInstance().saveOrUpdatePermissionario(perm);
				
				addActionMessage("Seus dados foram atualizados com sucesso");
				return INPUT;
			}else{
				addActionMessage("As senha digitadas não são iguais");
				return INPUT;
			}
			
		} catch (Exception e) {
			e.printStackTrace();
			return INPUT;
		}
	}

bem como ainda estou com dúvida em como manipular o Objeto Permissionario entre as JSPs e Actions resolvi passar o ID do carinha e efetuar nova consulta antes de setar os valores a serem atualizadoo.

DAO

	public void saveOrUpdatePermissionario(Permissionario perm) throws HibernateException {
		Session sessao = HibernateUtil.getSession();
		sessao.beginTransaction();
		try {
			sessao.saveOrUpdate(perm);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

o problema é que o email, o fone e a senha não são alterados no banco apesar de não gerar erro algum.

Aguardo!

você já tentou usar o padrão singleton para a sessão, tipo, se a sessão já estiver aberta usa-se a mesma sessão, vc sempre abre uma nova sessão, verifica isto ok

verifica se sua SessionFactory está ok, vc criou?

Caro rjbcordeiro eu ja utilizo este padrão so não postei.

Minha Factory está 100 %!

Aguardo!

ok, tenta usar a classe de transação ex.:

Transaction tr = sessao.beginTransaction();