2
respostas

Session Factory session.CurrentSession(); como utilizá-lo?

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:656) org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560) javax.servlet.http.HttpServlet.service(HttpServlet.java:661) javax.servlet.http.HttpServlet.service(HttpServlet.java:742) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) Root Cause

java.lang.NullPointerException br.com.colibri.dao.UsuarioJpaDao.validaUsuario(UsuarioJpaDao.java:22)

public class UsuarioJpaDao {
@Autowired
private SessionFactory session;


public List<Usuario> validaUsuario(Usuario usuario) {
        String hql="from usuarios u where u.email = :pEmail and u.senha = :pSenha";
        List list = session.getCurrentSession().createQuery(hql)
        .setParameter("pEmail", usuario.getEmail())
        .setParameter("pSenha", usuario.getSenha()).list();
        List<Usuario> lista = list;
        return lista;

}
}

E ESTA É A CONTROLLER

@Controller
@Transactional
public class LoginController {
@RequestMapping("/loginColibri")
public String paginaLogin() {
    return "login-form";
}
    @RequestMapping("/efetuaLogin")
public String efetuaLogin(Usuario usuario, HttpSession session){
if(new UsuarioJpaDao().validaUsuario(usuario).isEmpty()==false) {
    session.setAttribute("usuarioLogado", usuario);
return "menu";    
}
return "redirect:loginColibri";
}
}

Estou criando um formulario simples de login que se o login estiver certo irá retornar para outra página, porém acredito que eu esteja fazendo alguma coisa errada ao fazer a chamada ao banco...

2 respostas

Resolvido, ao inves de utilizar session utilizei entity manager begin - query e depois commit, mas ainda assim gostaria de saber como eu faria esta consulta utilizando session.getCurrentSession();

Acredito que para usar o Session você precisaria de um @Bean SessionFactoryBean ou algo assim.