Título: Error entre clase Dao y Bean Publicado por: innervargas en 8 Agosto 2016, 17:02 pm Hola, tengo un problema me encuentro haciendo un login con jsf e hibernate, hago la consulta entre 3 tablas, pido la id y la contraseña y me devuelve el nombre del cargo y en el bean dependiendo del cargo tiene que ir a una vista distinta, pero hago la consulta en el dao y en el bean manda eso como nulo, cuando pongo la consulta en mysql me muestra las datos y hago un paso a paso en netbeans y trae los datos, no se realmente que puede ser
esta es la clase dao, el metodo donde esta la consulta public Instructor finbyUsuario(Instructor instructor) { Instructor model = null; Session session = HibernateUtil.getSessionFactory().openSession(); Transaction transaction = session.beginTransaction(); String sql = "select cargo.Nombre from instructor INNER JOIN (cargo INNER JOIN asignacion_cargo_instructor ON cargo.CodCargo = asignacion_cargo_instructor.fkCodCargo) ON asignacion_cargo_instructor.fkIdInstructor = instructor.Id where instructor.idInstructor= '"+instructor.getIdInstructor()+"' and instructor.ClaveInstructor='"+instructor.getClaveInstructor()+"'"; try { session.createSQLQuery(sql).addEntity("cargo", Cargo.class).addEntity("instructor", Instructor.class).addEntity("asignacion_cargo_instructor",AsignacionCargoInstructor.class); transaction.commit(); session.close(); } catch (Exception e) { transaction.rollback(); } return model; } y este es el bean private Instructor instructor; private UsuarioDao usuarioDao; public loginBean() { this.usuarioDao = new UsuarioDaoImp(); if (this.instructor == null) { this.instructor = new Instructor(); } } public Instructor getInstructor() { return instructor; } public void setInstructor(Instructor instructor) { this.instructor = instructor; } public String login(ActionEvent event) { RequestContext context = RequestContext.getCurrentInstance(); FacesMessage message; boolean loggedIn; this.instructor = this.usuarioDao.finbyUsuario(this.instructor); try{ if(this.instructor != null){ if(this.instructor.equals("Líder del programa")){ loggedIn = true; FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("instructor", this.instructor.getIdInstructor()); return "views/inicio.xhtml"; } if(this.instructor.equals("Instructor Líder de Área")){ loggedIn = true; FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("instructor", this.instructor.getIdInstructor()); return "views/inicio.xhtml"; } if(this.instructor.equals("Instructor etapa lectiva")){ loggedIn = true; FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("instructor", this.instructor.getIdInstructor()); return "views/inicio2.xhtml"; } if(this.instructor.equals("Instructor etapa productiva")){ loggedIn = true; FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("instructor", this.instructor.getIdInstructor()); return "views/inicio3.xhtml"; } } else { loggedIn = false; message = new FacesMessage(FacesMessage.SEVERITY_WARN, "Loggin Error", "Usuario y/o Clave es incorrecto"); this.usuarioDao = new UsuarioDaoImp(); if (this.instructor == null) { this.instructor = new Instructor(); } } }catch(Exception e){ message = new FacesMessage(FacesMessage.SEVERITY_WARN, "Loggin Error", "Usuario y/o Clave es incorrecto"); } return "login.xhtml"; } |