Opa não to conseguindo enteder o meu sistema com o campo boolean! Tenho uma classe usuario e nela um atributo boolean.
private boolean acessoTotal = false;
Sei que por padrão ele ja vem false, e depois no minha html tenho o.
<p:outputLabel value="Acesso Total ao sistema?" for="acesso" />
<p:selectBooleanCheckbox id="acesso"
value="#{usuarioBean.usuario.acessoTotal}" />
Eu acho que eu já entendi o porque. Estou usando o meu.
@SuppressWarnings("unused")
public boolean verificar(Usuario usuario) {
Query query = manager
.createQuery("Select u from Usuario u WHERE u.login = :pLogin and u.senha = :pSenha");
query.setParameter("pLogin", usuario.getLogin());
query.setParameter("pSenha", usuario.getSenha());
try {
Usuario resultado = (Usuario) query.getSingleResult();
} catch (NoResultException e) {
return false;
}
return true;
}
aqui estou fazendo a virificação e por isso que o meu boolean está vindo falso porque só estou passando 2 campos para o setParameter, é isso? Porque aqui no meu metodo.
@Transacional
public String acesso() {
FacesContext context = FacesContext.getCurrentInstance();
boolean verificar = usuarioDao.verificar(usuario);
if (verificar) {
context.getExternalContext().getSessionMap()
.put("usuarioLogado", this.usuario);
pegarUsuario(usuario);
return RedirecionadorDePaginas.direcao("principal.xhtml");
} else {
this.usuario = new Usuario();
Mensagem.mensagemError("Usuario ou senha incorreto");
return "";
}
}
Quando chamo o metodo pegar o usuario dentro do metodo eu só recebo o nome e a senha que setei no meu parameter do dao, eu queria o meu campo boolean também mais sem fazer o.
.createQuery("Select u from Usuario u WHERE u.login = :pLogin and u.senha = :pSenha and u.acessoTotal = :pAcessoTotal");
query.setParameter("pLogin", usuario.getLogin());
query.setParameter("pSenha", usuario.getSenha());
query.setParameter("pAcessoTotal", usuario.isAcessoTotal());
Sem passar ele na consulta da query, tem como eu pegar o acessoTotal?