javax.servlet.ServletException Target Unreachable, 'null' returned null

Olá a todos,

Estou começando a usar o JFS + Hibernate e não consigo sair dessa exception, encontrei varias mensagens com o mesmo titulo da minha duvida, mas mesmo assim não conseguir resolver. Então decidir pedir ajudar para alguama alma caridosa aqui do forum.

Desde já agradeço.

Aqui tenho minha classe bean:

package com.mercantilvirtual.entities;
// Generated 07/11/2017 19:46:07 by Hibernate Tools 5.2.5.Final

import java.util.Arrays;
import java.util.Date;

/**

  • UsuariosPdvId generated by hbm2java
    */
    public class UsuariosPdvId implements java.io.Serializable {

    private int codUsuario;
    private int codGrupos;
    private String login;
    private String senha;
    private String nome;
    private String email;
    private String frase;
    private Character situacao;
    private String codReferencia;
    private String ip;
    private String lat;
    private String lng;
    private byte[] imagem;
    private Character foto;
    private String abrePreco;
    private Date ultimoLogin;

    public UsuariosPdvId() {
    }

    public UsuariosPdvId(int codUsuario, int codGrupos) {
    this.codUsuario = codUsuario;
    this.codGrupos = codGrupos;
    }

    public UsuariosPdvId(int codUsuario, int codGrupos, String login, String senha, String nome, String email,
    String frase, Character situacao, String codReferencia, String ip, String lat, String lng, byte[] imagem,
    Character foto, String abrePreco, Date ultimoLogin) {
    this.codUsuario = codUsuario;
    this.codGrupos = codGrupos;
    this.login = login;
    this.senha = senha;
    this.nome = nome;
    this.email = email;
    this.frase = frase;
    this.situacao = situacao;
    this.codReferencia = codReferencia;
    this.ip = ip;
    this.lat = lat;
    this.lng = lng;
    this.imagem = imagem;
    this.foto = foto;
    this.abrePreco = abrePreco;
    this.ultimoLogin = ultimoLogin;
    }

    public int getCodUsuario() {
    return this.codUsuario;
    }

    public void setCodUsuario(int codUsuario) {
    this.codUsuario = codUsuario;
    }

    public int getCodGrupos() {
    return this.codGrupos;
    }

    public void setCodGrupos(int codGrupos) {
    this.codGrupos = codGrupos;
    }

    public String getLogin() {
    return this.login;
    }

    public void setLogin(String login) {
    this.login = login;
    }

    public String getSenha() {
    return this.senha;
    }

    public void setSenha(String senha) {
    this.senha = senha;
    }

    public String getNome() {
    return this.nome;
    }

    public void setNome(String nome) {
    this.nome = nome;
    }

    public String getEmail() {
    return this.email;
    }

    public void setEmail(String email) {
    this.email = email;
    }

    public String getFrase() {
    return this.frase;
    }

    public void setFrase(String frase) {
    this.frase = frase;
    }

    public Character getSituacao() {
    return this.situacao;
    }

    public void setSituacao(Character situacao) {
    this.situacao = situacao;
    }

    public String getCodReferencia() {
    return this.codReferencia;
    }

    public void setCodReferencia(String codReferencia) {
    this.codReferencia = codReferencia;
    }

    public String getIp() {
    return this.ip;
    }

    public void setIp(String ip) {
    this.ip = ip;
    }

    public String getLat() {
    return this.lat;
    }

    public void setLat(String lat) {
    this.lat = lat;
    }

    public String getLng() {
    return this.lng;
    }

    public void setLng(String lng) {
    this.lng = lng;
    }

    public byte[] getImagem() {
    return this.imagem;
    }

    public void setImagem(byte[] imagem) {
    this.imagem = imagem;
    }

    public Character getFoto() {
    return this.foto;
    }

    public void setFoto(Character foto) {
    this.foto = foto;
    }

    public String getAbrePreco() {
    return this.abrePreco;
    }

    public void setAbrePreco(String abrePreco) {
    this.abrePreco = abrePreco;
    }

    public Date getUltimoLogin() {
    return this.ultimoLogin;
    }

    public void setUltimoLogin(Date ultimoLogin) {
    this.ultimoLogin = ultimoLogin;
    }

    public boolean equals(Object other) {
    if ((this == other))
    return true;
    if ((other == null))
    return false;
    if (!(other instanceof UsuariosPdvId))
    return false;
    UsuariosPdvId castOther = (UsuariosPdvId) other;

     return (this.getCodUsuario() == castOther.getCodUsuario()) && (this.getCodGrupos() == castOther.getCodGrupos())
     		&& ((this.getLogin() == castOther.getLogin()) || (this.getLogin() != null
     				&& castOther.getLogin() != null && this.getLogin().equals(castOther.getLogin())))
     		&& ((this.getSenha() == castOther.getSenha()) || (this.getSenha() != null
     				&& castOther.getSenha() != null && this.getSenha().equals(castOther.getSenha())))
     		&& ((this.getNome() == castOther.getNome()) || (this.getNome() != null && castOther.getNome() != null
     				&& this.getNome().equals(castOther.getNome())))
     		&& ((this.getEmail() == castOther.getEmail()) || (this.getEmail() != null
     				&& castOther.getEmail() != null && this.getEmail().equals(castOther.getEmail())))
     		&& ((this.getFrase() == castOther.getFrase()) || (this.getFrase() != null
     				&& castOther.getFrase() != null && this.getFrase().equals(castOther.getFrase())))
     		&& ((this.getSituacao() == castOther.getSituacao()) || (this.getSituacao() != null
     				&& castOther.getSituacao() != null && this.getSituacao().equals(castOther.getSituacao())))
     		&& ((this.getCodReferencia() == castOther.getCodReferencia())
     				|| (this.getCodReferencia() != null && castOther.getCodReferencia() != null
     						&& this.getCodReferencia().equals(castOther.getCodReferencia())))
     		&& ((this.getIp() == castOther.getIp()) || (this.getIp() != null && castOther.getIp() != null
     				&& this.getIp().equals(castOther.getIp())))
     		&& ((this.getLat() == castOther.getLat()) || (this.getLat() != null && castOther.getLat() != null
     				&& this.getLat().equals(castOther.getLat())))
     		&& ((this.getLng() == castOther.getLng()) || (this.getLng() != null && castOther.getLng() != null
     				&& this.getLng().equals(castOther.getLng())))
     		&& ((this.getImagem() == castOther.getImagem()) || (this.getImagem() != null
     				&& castOther.getImagem() != null && Arrays.equals(this.getImagem(), castOther.getImagem())))
     		&& ((this.getFoto() == castOther.getFoto()) || (this.getFoto() != null && castOther.getFoto() != null
     				&& this.getFoto().equals(castOther.getFoto())))
     		&& ((this.getAbrePreco() == castOther.getAbrePreco()) || (this.getAbrePreco() != null
     				&& castOther.getAbrePreco() != null && this.getAbrePreco().equals(castOther.getAbrePreco())))
     		&& ((this.getUltimoLogin() == castOther.getUltimoLogin())
     				|| (this.getUltimoLogin() != null && castOther.getUltimoLogin() != null
     						&& this.getUltimoLogin().equals(castOther.getUltimoLogin())));
    

    }

    public int hashCode() {
    int result = 17;

     result = 37 * result + this.getCodUsuario();
     result = 37 * result + this.getCodGrupos();
     result = 37 * result + (getLogin() == null ? 0 : this.getLogin().hashCode());
     result = 37 * result + (getSenha() == null ? 0 : this.getSenha().hashCode());
     result = 37 * result + (getNome() == null ? 0 : this.getNome().hashCode());
     result = 37 * result + (getEmail() == null ? 0 : this.getEmail().hashCode());
     result = 37 * result + (getFrase() == null ? 0 : this.getFrase().hashCode());
     result = 37 * result + (getSituacao() == null ? 0 : this.getSituacao().hashCode());
     result = 37 * result + (getCodReferencia() == null ? 0 : this.getCodReferencia().hashCode());
     result = 37 * result + (getIp() == null ? 0 : this.getIp().hashCode());
     result = 37 * result + (getLat() == null ? 0 : this.getLat().hashCode());
     result = 37 * result + (getLng() == null ? 0 : this.getLng().hashCode());
     int imagemHashcode = 0;
     byte[] imagemProperty = this.getImagem();
     if (imagemProperty != null) {
     	imagemHashcode = 1;
     	for (int i = 0; i < imagemProperty.length; i++) {
     		imagemHashcode = 37 * imagemHashcode + imagemProperty[i];
     	}
     }
    
     result = 37 * result + imagemHashcode;
    
     result = 37 * result + (getFoto() == null ? 0 : this.getFoto().hashCode());
     result = 37 * result + (getAbrePreco() == null ? 0 : this.getAbrePreco().hashCode());
     result = 37 * result + (getUltimoLogin() == null ? 0 : this.getUltimoLogin().hashCode());
     return result;
    

    }

}

Aqui minha Classe DAO

package com.mercantilvirtual.dao;

import java.util.List;

import javax.faces.context.FacesContext;
import javax.persistence.Query;

import org.hibernate.Hibernate;
import org.hibernate.Session;
import org.hibernate.Transaction;

import com.mercantilvirtual.entities.UsuariosPdvId;
import com.mercantilvirtual.util.HibernateUtil;

import java.util.ArrayList;

public class LoginDB {

private Session session;

public UsuariosPdvId verificaDados(UsuariosPdvId usuario){

	UsuariosPdvId us = null;
	
	try{
		session = HibernateUtil.getSessionFactory().openSession();

		String hql = "From usuarios_pdv where login = '" + usuario.getLogin() + "' and  senha = '" + usuario.getSenha() + "'";

		Query query = session.createQuery(hql);
		if(!query.getResultList().isEmpty()){
			us = (UsuariosPdvId) query.getResultList().get(0);
		}
	}catch(Exception e){
		throw e;
	}

	return us;
}

}

Aqui minha Classe de usuario:

package com.mercantilvirtual.controller;

import javax.faces.bean.*;
import javax.faces.context.FacesContext;
import javax.persistence.Entity;

import com.mercantilvirtual.dao.LoginDB;
import com.mercantilvirtual.entities.UsuariosPdvId;

@ManagedBean(name = “login_bean”)
@SessionScoped
@Entity
public class Usuario implements java.io.Serializable {

private UsuariosPdvId usuario;
private String mensagem;

public String getMensagem() {
	return mensagem;
}

public void setMensagem(String mensagem) {
	this.mensagem = mensagem;
}

public UsuariosPdvId getUsuario() {
	return usuario;
}

public void setUsuario(UsuariosPdvId usuario) {
	this.usuario = usuario;
}

public Usuario() {
	
}

public String verificaDados() throws Exception{
	LoginDB lg = new LoginDB();
	UsuariosPdvId us;
	String resultado = null;
	try {
	us = lg.verificaDados(this.usuario);
	System.out.println("aqui 01");
	if(us != null){
		FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("usuario", us);
		
		resultado = "ok";
	}else {
		resultado = "error";
	}
	}catch(Exception e) {
		throw e;
	}
	return resultado;
}

}

E aqui meu XHTML:

<h:head></h:head>

        <h:outputLabel value="Senha:" />
        <h:inputSecret value="#{login_bean.usuario.senha}" size="20" />
            
        <h:commandButton value="Logar" action="#{usuario.verificaDados()}" />
        <h:outputText id="loginText" value="#{login_bean.mensagem}"/>
    </h:panelGrid>
    <h:messages />    
</h:form>

E quando clico no botão Logar aparece esse erro:

22:10:07,055 ERROR [io.undertow.request] (default task-3) UT005023: Exception handling request to /mercantilvirtual/faces/index.xhtml;jsessionid=DR3elZm4W-fOiHex9A4ilSQby_MVnOwxLmZDUZGe.casa-pc: javax.servlet.ServletException: /index.xhtml @12,74 value="#{login_bean.usuario.login}": Target Unreachable, ‘null’ returned null
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:671)
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)
at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)
at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:805)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.el.PropertyNotFoundException: /index.xhtml @12,74 value="#{login_bean.usuario.login}": Target Unreachable, ‘null’ returned null
at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:95)
at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1045)
at javax.faces.component.UIInput.validate(UIInput.java:975)
at javax.faces.component.UIInput.executeValidate(UIInput.java:1248)
at javax.faces.component.UIInput.processValidators(UIInput.java:712)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1261)
at javax.faces.component.UIForm.processValidators(UIForm.java:253)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1261)
at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1195)
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:658)
… 37 more
Caused by: javax.el.PropertyNotFoundException: Target Unreachable, ‘null’ returned null
at com.sun.el.parser.AstValue.getTarget(AstValue.java:191)
at com.sun.el.parser.AstValue.getType(AstValue.java:85)
at com.sun.el.ValueExpressionImpl.getType(ValueExpressionImpl.java:201)
at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:98)