Método verificar login

8 respostas
MuriloAngelo

@Override public Pessoa verificarLogin(Pessoa pessoa) { Session session = ConexaoHibernate.getInstance(); Transaction tx = null; Pessoa p = null; try{ Query q; tx = session.beginTransaction(); q = session.createQuery("FROM pessoa as p where p.email=:email and p.senha=:senha"); q.setParameter("email", p.getEmail()); q.setParameter("senha", p.getSenha()); List resultados = q.list(); if (resultados.size() > 0){ p = (Pessoa) resultados.get(0); } }catch(Exception e){ tx.rollback(); e.printStackTrace(); }finally{ session.close(); } return p; }

pessoa, onde tem erro ai? a query está correta? esse método me retorna uma pessoa com email e senha?

8 Respostas

J

qual o erro?

J

ah já vi

q = session.createQuery("FROM pessoa as p where p.email=:email and p.senha=:senha");

substitui por

q = session.createQuery("p FROM pessoa as p where p.email=:email and p.senha=:senha");
MuriloAngelo

esse é o problema eu nao vejo erro, quando eu boto pra esse metodo retornar PESSOA, o login passa normamento logo nao foi feita nenhuma verificacao, ja que eu to retornando o que eu peguei, quando eu boto pra retornar P da um erro no meu seguinte método:

package atividade.api.service.impl;

import atividade.api.dao.PessoaDAO;
import atividade.api.dao.impl.PessoaDAOImpl;
import atividade.api.service.LoginService;
import atividade.modelo.Pessoa;

public class LoginServiceImpl implements LoginService{

    private PessoaDAO pessoaDAO;

    public LoginServiceImpl() {
        pessoaDAO = new PessoaDAOImpl();
    }
    
    @Override
    public boolean verificarUsuario(Pessoa pessoa) {
        Pessoa pessoaValidada = pessoaDAO.verificarLogin(pessoa);
        if(pessoaValidada.equals(pessoa)){
            return true;
        }
        return false;
    }

}

aparece isso no browser:

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.NullPointerException
	atividade.api.service.impl.LoginServiceImpl.verificarUsuario(LoginServiceImpl.java:19)
	atividade.api.facade.impl.LoginFacadeImpl.verificarUsuario(LoginFacadeImpl.java:18)
	atividade.controle.LoginController.doPost(LoginController.java:28)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.22 logs.
Apache Tomcat/7.0.22
J

tens como postar a stackTrace do erro para eu dar uma análisada

J

tu fez a alteração q eu te passei? e outra vc está usando igual, vc verificou se os parametros email e senha estão sendo enviados corretamente?

J

Pra começar, qual erro você está acontecendo, não ficou claro.
E coloque a stacktrace, para ajudar.

alberthy

Altere isso:

q = session.createQuery("FROM pessoa as p where p.email=:email and p.senha=:senha");

para isso:

q = session.createQuery("FROM Pessoa p where p.email=:email and p.senha=:senha");
Hebert_Coelho

java.lang.NullPointerException
atividade.api.service.impl.LoginServiceImpl.verificarUsuario(LoginServiceImpl.java:19)

Você tem que resolver esse problema aí primeiro.

Criado 1 de junho de 2012
Ultima resposta 2 de jun. de 2012
Respostas 8
Participantes 5