elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  problema en la creacion de un crud en java usando hibernate
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema en la creacion de un crud en java usando hibernate  (Leído 2,499 veces)
ivanchodmd

Desconectado Desconectado

Mensajes: 2


Ver Perfil
problema en la creacion de un crud en java usando hibernate
« en: 2 Julio 2014, 22:46 pm »

Buen dia, soy nuevo en este foro y en el desarrollo en java, estoy implementando un sistema de logueo basico de usuario (un crud) pero al momento de actualizar, eliminar o insertar no pasa nada y la verdad no encuentro el error

el codigo de la vista:

<<h:form id="frmNuevo"> 
            <p:dialog id="dlgNuevo" header="Nuevo Usuario" widgetVar="dlgNuevo" resizable="false"  modal="true">   
                <p:growl id="growlNuevo"  sticky="true" />
                <h:panelGrid id="pgNuevo" columns="2" cellpadding="5" 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="Ciudad" />
                    <p:inputText value="#{usuarioBean.selectedUsuario.userperfil}" style="width: 200px"/> 
                    <p:inputText value="#{usuarioBean.selectedUsuario.mascompany}" style="width: 200px"/>
                </h:panelGrid> 

                <p:separator/>

                <p:commandButton  value="&nbsp;Guardar"   update=":frmusuarios, growlNuevo, dlgNuevo"  actionListener="#{usuarioBean.btncreateUsuario(actionEvent)}"  oncomplete="dlgNuevo.hide()" image="icon-guardar" ></p:commandButton>     
                <p:commandButton value="&nbsp;Cancelar"   oncomplete="dlgNuevo.hide()" image="icon-cancelar"></p:commandButton>

            </p:dialog> 
        </h:form>

>

el metodo:

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;
            sesion.beginTransaction().rollback();

        }
        return flag;
    }



el bean :

public void btnUpdateUsuario (ActionEvent actionEvent){
     
        UsuarioDao usuarioDao = new UsuarioDaoImpl();
        String msg;
        if(usuarioDao.update(this.selectedUsuario)){
        msg ="Se modifico correctamente el registro";
    }
    else
    {
        msg ="Error al modificar el registro";
       
    }


si pudieran asesorarme se los agradeceria mucho

gracias


En línea

Chuidiang

Desconectado Desconectado

Mensajes: 161



Ver Perfil WWW
Re: problema en la creacion de un crud en java usando hibernate
« Respuesta #1 en: 6 Julio 2014, 21:38 pm »

Convendría que en el catch pusieras algo indicando que ha habido un error, así sabríamos si lo hay y tendríamos una pista de qué puede estar pasando. Lo que más información suele dar es un e.printStackTrace() (el e.getMessage() se queda corto, ya que no te dice la línea exacta del error dentro del try).

Se bueno.


En línea

ivanchodmd

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: problema en la creacion de un crud en java usando hibernate
« Respuesta #2 en: 7 Julio 2014, 17:11 pm »

gracias por responder , 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:
<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:

@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:

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 :

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.
« Última modificación: 9 Julio 2014, 17:56 pm por ivanchodmd » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
CREACION DE AGENDA JAVA
Java
skullx08 3 10,409 Último mensaje 3 Junio 2011, 22:27 pm
por sapito169
Crud Generator en Codeigniter
PHP
madpitbull_99 0 6,740 Último mensaje 6 Julio 2011, 20:28 pm
por madpitbull_99
Problema en mi videojuego programado en JAVA, usando librerias Swing/AWT
Java
DarkSorcerer 2 5,048 Último mensaje 15 Marzo 2013, 05:52 am
por Kenkox
Crud con Strut2 e hibernate
Java
jPallol1 2 2,079 Último mensaje 29 Marzo 2015, 18:34 pm
por Usuario Invitado
CRUD con MVC y POO en Java y MySQL
Java
padiuwu 1 2,633 Último mensaje 17 Abril 2019, 11:08 am
por rub'n
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines