Foro de elhacker.net

Programación => Java => Mensaje iniciado por: innervargas en 8 Agosto 2016, 17:02 pm



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";
}