Merge, saveOrUpdate - erro ao atualizar

4 respostas
edysnipes

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!

4 Respostas

R

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

R

verifica se sua SessionFactory está ok, vc criou?

edysnipes

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

Minha Factory está 100 %!

Aguardo!

R

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

Transaction tr = sessao.beginTransaction();

Criado 30 de setembro de 2008
Ultima resposta 1 de out. de 2008
Respostas 4
Participantes 2