Java - Ayuda , java hibernate y primefaces

 
Vista:
sin imagen de perfil

Ayuda , java hibernate y primefaces

Publicado por ivanchodmd (1 intervención) el 10/07/2014 23:20:25
Buen dia estoy desarrolando un sistema pero tengo rpblemas al traer los datos desde una tabla


he estado haciendo pruebas y me sale el error :Advertencia: /paginas/usuarios/empRegistrar.xhtml @99,96 value="#{usuarioBean.selectedUsuario.usercodi}": Target Unreachable, 'null' returned null

selectUsuario lo utilizo para traer los campos para usuarios nuevos y par editar pero parece que esta legando vacio, no encuentro una forma de solucionarlo.

Codigo de la vista:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<h:form id="frmEditar">
            <p:dialog id="dlgEditar" header="Editar Usuario" widgetVar="dlgEditar" resizable="false"   modal="true" >
                <p:growl id="growlEditar" showDetail="true" sticky="true" />
                <h:panelGrid id="pgEditar" columns="2" cellpadding="4" style="margin:0 auto;">
 
                    <h:outputText value="Codigo:"  style="width: 200px" />
                    <h:outputText value="Nombres:" />
                    <p:inputText value="#{usuarioBean.selectedUsuario.usercodi}" alt="left"  />
                    <p:inputText value="#{usuarioBean.selectedUsuario.usernombre}" style="width: 200px" />
 
                    <h:outputText value="Usuario:"/>
                    <h:outputText value="Clave:"/>
                    <p:inputText value="#{usuarioBean.selectedUsuario.userusuario}" style="width: 200px"/>
                    <p:inputText value="#{usuarioBean.selectedUsuario.userpwd}" style="width: 200px" />
                    <h:outputText value="Perfil"/>
                    <h:outputText value="Nit"/>
                    <p:inputText value="#{usuarioBean.selectedUsuario.userperfil}" style="width: 200px"/>
                    <p:inputText value="#{usuarioBean.selectedUsuario.mascompany.compnitcom}" style="width: 200px"/>
 
                </h:panelGrid>
 
                <p:separator />
                <p:commandButton value="&nbsp;Actualizar"   update=":frmusuarios, growlEditar, dlgEditar" actionListener="#{usuarioBean.btnUpdateUsuario(actionEvent)}"   oncomplete="dlgEditar.hide()" image="icon-update"  />
                <p:commandButton   value="&nbsp;Cancelar"   update=":frmusuarios" oncomplete="dlgEditar.hide()" image="icon-cancelar"  />
 
            </p:dialog>
        </h:form>

codigo beans:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
@Named(value = "usuarioBean")
@RequestScoped
public class usuarioBean {
 
    private List <Masuser> usuarios;
    private Masuser selectedUsuario;
 
 
     public usuarioBean() {
 
    this.usuarios = new ArrayList <Masuser>();
 
    }
    public List<Masuser> getUsuarios() {
 
       UsuarioDao  usuarioDao  = new UsuarioDaoImpl();
       this.usuarios = usuarioDao.findAll();
       return usuarios;
    }
 
    public Masuser getSelectedUsuario() {
        return selectedUsuario;
    }
 
    public void setSelectedUsuario(Masuser selectedUsuario) {
    this.selectedUsuario = selectedUsuario;
    }
 
    public void btncreateUsuario (ActionEvent actionEvent){
 
        UsuarioDao usuarioDao = new UsuarioDaoImpl();
        String msg;
        if(usuarioDao.create(this.selectedUsuario)){
        msg ="Se creo correctamente el registro";
    }
    else
    {
        msg ="Error al guardar el registro";
 
    }
        FacesMessage message  = new  FacesMessage (FacesMessage.SEVERITY_INFO,msg,null);
        FacesContext.getCurrentInstance().addMessage(null, message);
 
 
}
    public void btnUpdateUsuario (ActionEvent actionEvent){
 
        selectedUsuario    =  new Masuser ();
 
        UsuarioDao usuarioDao = new UsuarioDaoImpl();
        String msg;
        if(usuarioDao.update(this.selectedUsuario)){
        msg ="Se modifico correctamente el registro";
 
 
    }
    else
    {
        msg ="Error al modificar el registro";
    }
        FacesMessage message  = new  FacesMessage (FacesMessage.SEVERITY_INFO,msg,null);
        FacesContext.getCurrentInstance().addMessage(null, message);
 
 
    }
    public void btnDeleteUsuario (ActionEvent actionEvent){
      UsuarioDao usuarioDao = new UsuarioDaoImpl();
        String msg;
        if(usuarioDao.delete(this.selectedUsuario.getUsercodi())){
        msg ="Se elimino correctamente el registro";
        FacesMessage message  = new  FacesMessage (FacesMessage.SEVERITY_INFO,msg,null);
        FacesContext.getCurrentInstance().addMessage(null, message);
 
    }
    else
    {
        msg ="Error al eliminar el registro";
        FacesMessage message  = new  FacesMessage (FacesMessage.SEVERITY_ERROR,msg,null);
        FacesContext.getCurrentInstance().addMessage(null, message);
 
    }
    }
}


codigo implements:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
public class UsuarioDaoImpl implements UsuarioDao {
 
    @Override
    public Masuser findByUsuario(Masuser userusuario) {
        Masuser model = null;
        Session sesion = HibernateUtil.getSessionFactory().openSession();
        String sql = "from  Masuser  where userusuario = '" + userusuario.getUserusuario() + "'";
 
        try {
 
            sesion.beginTransaction();
            model = (Masuser) sesion.createQuery(sql).uniqueResult();
            sesion.beginTransaction().commit();
 
        } catch (Exception e) {
            sesion.beginTransaction().rollback();
 
        }
        return model;
 
    }
 
    @Override
    public Masuser login(Masuser userusuario) {
        Masuser model = this.findByUsuario(userusuario);
 
        if (model !=null)
        {
            if(!userusuario.getUserpwd().equals(model.getUserpwd()))
            model =null;
        }
 
        return model;
 
    }
 
    @Override
    public List<Masuser> findAll() {
 
       List<Masuser> listado = null;
 
       Session sesion = HibernateUtil.getSessionFactory().openSession();
       String sql = "from Masuser";
 
        try {
 
            sesion.beginTransaction();
            listado =  sesion.createQuery(sql).list();
            sesion.beginTransaction().commit();
 
        } catch (Exception e) {
            sesion.beginTransaction().rollback();
 
        }
        return listado;
     }
 
    @Override
    public boolean create(Masuser userusuario) {
        boolean flag;
        Session sesion = HibernateUtil.getSessionFactory().openSession();
 
        try {
 
            sesion.beginTransaction();
            sesion.save(userusuario);
            sesion.beginTransaction().commit();
            flag =true;
        } catch (Exception e) {
            flag=false;
            sesion.beginTransaction().rollback();
 
        }
        return flag;
 
    }
 
    @Override
    public boolean update(Masuser userusuario) {
        boolean flag;
        Session sesion = HibernateUtil.getSessionFactory().openSession();
 
        try {
 
            sesion.beginTransaction();
            sesion.update(userusuario);
            sesion.beginTransaction().commit();
            flag =true;
        } catch (Exception e) {
            flag=false;
            System.out.println("error");
            sesion.beginTransaction().rollback();
 
        }
        return flag;
    }
 
    @Override
        public boolean delete(String usercodi) {
        boolean flag;
        Session sesion = HibernateUtil.getSessionFactory().openSession();
 
        try {
 
            sesion.beginTransaction();
            Masuser usuario  = (Masuser) sesion.load(Masuser.class, usercodi);
            sesion.delete(usuario);
            sesion.beginTransaction().commit();
            flag =true;
        } catch (Exception e) {
            flag=false;
            sesion.beginTransaction().rollback();
 
        }
        return flag;
    }
}

Iniicalice las variables en el Bean :

1
2
3
4
5
6
7
this.selectedUsuario = new Masuser();
      this.selectedUsuario.setUsercodi("");
      this.selectedUsuario.setUsernombre("");
      this.selectedUsuario.setUserpwd("");
      this.selectedUsuario.setUserperfil("");
 
      this.selectedUsuario.setUserusuario("");


con lo que quito la mayoria de los errores pero como el campo Compnitcom es una llave foranea desde otra tabla, me muestra el error (/paginas/usuarios/empRegistrar.xhtml @83,117 value="#{usuarioBean.selectedUsuario.mascompany.compnitcom}": Target Unreachable, 'null' returned null) porque la variable no se inicializa y como esta marcada como not null no hace nada.



Agradezco cualquier ayuda

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder