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