Pessoal tenho uma tabela PESSOA - dentro tenho 3 campos senha/email/status, gostaria de saber como eu faço para comparar nao o objeto pessoa masi sim o valor ativo:
publicbooleanverificaEmailSenhaStatus(Stringemail,Stringsenha,Stringstatus){
booleanvalid=false;System.out.println("DAO metodo isValidLoginAndPassword...");System.out.println("DAO session.isOpen() >>> "+session.isOpen());Queryquery=session.createQuery("from Pessoa p where p.email = :em "+" and "+" p.senha = :sen"+" and p.status = :ati ");query.setString("em",email);query.setString("sen",senha);query.setString("ati",status);Pessoapessoa=(Pessoa)query.uniqueResult();if(pessoa!=null){
valid=true;}
System.out.println("DAO Pessoa >>> "+pessoa);returnvalid;}
" and p.status = :ati ");
query.setString("ati", status);
Já está fazendo isso não?
juniorsatanas
Dupliquei não mudei a maneira de faze !
Ele faz isso : Seleciona a tabela pessoas, os campos email/senha/status, se o objeto pessoal != null ele loga,
Meu problema é que quando eu entro pelo form de login eu digito email e senha somente, esses valores são comparados com o do banco, mais o campo status não e comparado ai ele não loga. Não consigo resolver essa M… que é tão simples !
Abraço !
natureza
Então é porque o status não esta sendo setado na tela de login.
Seta ele na mão mesmo ai no seu metodo.
Faz um String status = "ativo";
Ja que vai ser sempre ativo mesmo para verificar.
Ai boa não pode ser assim?
Inté
juniorsatanas
Pensei nisso, mais não conseguir fazer !
segue o código , onde ficaria isso :
packagebr.com.serjaum.dao;importjava.util.List;importorg.apache.log4j.Logger;importorg.hibernate.Criteria;importorg.hibernate.Query;importorg.hibernate.Session;importorg.hibernate.criterion.Order;importorg.hibernate.criterion.Restrictions;importbr.com.serjaum.modelo.Pessoa;publicclassPessoaDAOextendsDAO<Pessoa>{privateLoggerlogger=Logger.getLogger(PessoaDAO.class);publicPessoaDAO(Sessionsession,Class<?>classe){super(session,classe);}publicPessoapesquisaPessoaById(LongidPessoa){logger.info("pesquisaPessoaById : "+idPessoa);return(Pessoa)session.load(Pessoa.class,idPessoa);}publicPessoapesquisaPessoaByNome(Stringnome){logger.info("pesquisaPessoaByNome : "+nome);Criteriac=session.createCriteria(Pessoa.class);c.add(Restrictions.ilike("nome","%"+nome+"%"));return(Pessoa)c.uniqueResult();}publicPessoapesquisaPessoaByEmail(Stringemail){logger.info("pesquisaPessoaByEmail : "+email);Criteriac=session.createCriteria(Pessoa.class);c.add(Restrictions.ilike("email",email+"%"));return(Pessoa)c.uniqueResult();}publicPessoapesquisaPessoaByStatus(Stringstatus){logger.info("pesquisaPessoaByStatus : "+status);Criteriac=session.createCriteria(Pessoa.class);c.add(Restrictions.ilike("status",status+"%"));return(Pessoa)c.uniqueResult();}@SuppressWarnings("unchecked")publicList<Pessoa>pesquisaPessoas(Stringnome){Criteriac=session.createCriteria(Pessoa.class);c.add(Restrictions.ilike("nome","%"+nome+"%"));c.addOrder(Order.asc("nome"));returnc.list();}@SuppressWarnings("unchecked")publicList<Pessoa>pesquisaStatus(Stringnome,Stringstatus){Criteriac=session.createCriteria(Pessoa.class);c.add(Restrictions.ilike("status","%"+status+"%"));c.addOrder(Order.asc("status"));returnc.list();}publicbooleanverificaEmailSenhaStatus(Stringemail,Stringsenha,Stringstatus){booleanvalid=false;System.out.println("DAO metodo isValidLoginAndPassword...");System.out.println("DAO session.isOpen() >>> "+session.isOpen());Queryquery=session.createQuery("from Pessoa p where p.email = :em "+" and "+" p.senha = :sen"+" and p.status = :ati ");query.setString("em",email);query.setString("sen",senha);query.setString("ati",status);Pessoapessoa=(Pessoa)query.uniqueResult();//** modificadoif(pessoa!=null){valid=true;}System.out.println("DAO Pessoa >>> "+pessoa);returnvalid;}publicPessoabuscaPessoa(Longid){Queryq=session.createQuery("select p from "+Pessoa.class.getName()+" as p where p.id like :id");q.setParameter("id",id);return(Pessoa)q.uniqueResult();}}