Example usage for org.hibernate Session createSQLQuery

List of usage examples for org.hibernate Session createSQLQuery

Introduction

In this page you can find the example usage for org.hibernate Session createSQLQuery.

Prototype

@Override
    NativeQuery createSQLQuery(String queryString);

Source Link

Usage

From source file:administracion.actions.GestorOperacionesDatosRestaurante.java

public int actualizarDatosRestaurante(Restaurante restaurante) {
    Session sesion = null;
    int resultadoOperacion = 0;

    try {//from w w w.  j  a v a  2 s .c o  m
        HibernateUtil hb = new HibernateUtil();
        sesion = hb.getSessionFactory().openSession();
        sesion.beginTransaction();
        String sql = "UPDATE datos_local SET nombre_local = '" + restaurante.getNombre() + "', direccion = '"
                + restaurante.getDireccion() + "', telefono = " + restaurante.getTelefono() + "  WHERE cif = '"
                + restaurante.getCif() + "'";
        SQLQuery query = sesion.createSQLQuery(sql);
        query.executeUpdate();
        sesion.getTransaction().commit();
        resultadoOperacion = OPERACION_SUCCESS;
    } catch (HibernateException e) {
        System.out.println("Error en la conexion con la base de datos: " + e);
        throw e;
    } catch (Exception e) {
        resultadoOperacion = OPERACION_ERROR;
        System.out.println("Error modificar datos restaurante: " + e);
    } finally {
        if (sesion != null) {
            sesion.close();
        }
    }

    return resultadoOperacion;
}

From source file:administracion.actions.GestorOperacionesDatosRestaurante.java

public int actualizarNumeroMesas(int numeroMesasInicial, int numeroMesasNuevo) {

    int resultadoOperacion = 0;
    int diferencia = 0;
    Session sesion = null;
    try {//from  ww  w  . j  av  a2s. c  o m
        HibernateUtil hb = new HibernateUtil();
        sesion = hb.getSessionFactory().openSession();
        sesion.beginTransaction();

        if (numeroMesasNuevo > numeroMesasInicial) { //En este caso queremos ampliar el numero de mesas
            diferencia = numeroMesasNuevo - numeroMesasInicial; //Obtenemos la diferencia

            //Obtenemos el numero de mesas total. Teniendo en cuenta las activas + las no activas (si las hay)
            String sql = "SELECT numero_mesa,estado_mesa,activo FROM mesa";
            SQLQuery query = sesion.createSQLQuery(sql).addEntity(Mesa.class);
            int numeroMesasTotal = (int) query.list().size();

            for (int i = numeroMesasInicial + 1; i <= numeroMesasNuevo; i++) { //Itreamos desde el mayor numero de mesa activo actualmente hasta el numero de mesas final que queremos                   
                if (numeroMesasTotal > i) { //Quiere decir que la mesa ya existia pero estaba deshabilitada                       
                    String sql1 = "UPDATE mesa SET activo = true WHERE numero_mesa = " + i; //Actualizamos su estado
                    SQLQuery query1 = sesion.createSQLQuery(sql1);
                    query1.executeUpdate();
                } else { //La mesa no exite y la creamos                 
                    Mesa mesa = new Mesa(); //Creamos la mesa
                    mesa.setNumero(i);
                    mesa.setEstado(ESTADO_MESA);
                    mesa.setActivo(true);
                    sesion.save(mesa); //Hacemos el INSERT
                }
            }
            sesion.getTransaction().commit();
            resultadoOperacion = OPERACION_SUCCESS;

        } else { //En este caso queremos reducir el numero de mesas
            List<Mesa> listaMesas = obtenerListadoMesas(); //Obtenemos el listado de mesas (nos interesa para ver el estado)
            boolean reducir = true; //Indica si podemos realizar la operacion para reducir el numero de mesas          
            diferencia = numeroMesasInicial - numeroMesasNuevo; //Numero de mesas que queremos reducir
            for (int i = numeroMesasInicial - 1; i >= numeroMesasNuevo; i--) { //Iteremos por las mesas que queremos desactivar
                if (!listaMesas.get(i).getEstado().equals(ESTADO_MESA)) { //Si la mesa no esta libre
                    reducir = false; //NO PERMITIMOS LA OPERACION
                    resultadoOperacion = OPERACION_NO_POSIBLE;
                    break;
                }
            }
            if (reducir) { //Si todas las mesas que queremos desactivar estan libres
                for (int i = numeroMesasInicial - 1; i >= numeroMesasNuevo; i--) { //Las recorremos y las desactivamos
                    String sql = "UPDATE mesa SET activo = false WHERE numero_mesa = " + (i + 1);
                    SQLQuery query = sesion.createSQLQuery(sql);
                    query.executeUpdate();
                }
                sesion.getTransaction().commit();
                resultadoOperacion = OPERACION_SUCCESS;
            }
        }
    } catch (HibernateException e) {
        System.out.println("Error en la conexion con la base de datos: " + e);
        throw e;
    } catch (Exception e) {
        resultadoOperacion = OPERACION_ERROR;
        System.out.println("Error actualizar numero de mesas: " + e);
    } finally {
        if (sesion != null) {
            sesion.close();
        }
    }

    return resultadoOperacion;
}

From source file:administracion.actions.GestorOperacionesDatosRestaurante.java

public List<Mesa> obtenerListadoMesas() {
    Session sesion = null;
    List<Mesa> lista = null;
    try {/*  w w  w  . j  a v a  2  s  . c o  m*/
        HibernateUtil hb = new HibernateUtil();
        sesion = hb.getSessionFactory().openSession();
        sesion.beginTransaction();
        String sql = "SELECT numero_mesa,estado_mesa,activo FROM mesa WHERE activo = true"; //En este caso siempre nos van a interesar las mesas que esten en estado activo=true
        SQLQuery query = sesion.createSQLQuery(sql).addEntity(Mesa.class);
        lista = query.list();
        sesion.getTransaction().commit();
    } catch (HibernateException e) {
        System.out.println("Error en la conexion con la base de datos: " + e);
        throw e;
    } catch (Exception e) {
        System.out.println("Error obtener lista de mesas: " + e);
    } finally {
        if (sesion != null) {
            sesion.close();
        }
    }

    return lista;
}

From source file:administracion.actions.GestorOperacionesDatosRestaurante.java

public int insertarImpuesto(Impuesto dato) {
    Session sesion = null;
    int resultadoOperacion = 0;

    try {// w  w  w  .  ja  va2  s  .com
        HibernateUtil hb = new HibernateUtil();
        sesion = hb.getSessionFactory().openSession();
        sesion.beginTransaction();
        String sql = "INSERT INTO impuesto (nombre_impuesto, valor) VALUES ('" + dato.getNombre() + "', "
                + dato.getValor() + ")";
        SQLQuery query = sesion.createSQLQuery(sql);
        query.executeUpdate();
        sesion.getTransaction().commit();
        resultadoOperacion = OPERACION_SUCCESS;
    } catch (HibernateException e) {
        System.out.println("Error en la conexion con la base de datos: " + e);
        throw e;
    } catch (Exception e) {
        resultadoOperacion = OPERACION_ERROR;
        System.out.println("Error insertar impuesto: " + e);
    } finally {
        if (sesion != null) {
            sesion.close();
        }
    }
    return resultadoOperacion;
}

From source file:administracion.actions.GestorOperacionesGenero.java

public List<Categoria> obtenerListaCategorias() {
    Session sesion = null;
    List<Categoria> lista = null;
    try {//from w ww. j a v a  2 s  . c  o m
        HibernateUtil hb = new HibernateUtil();
        sesion = hb.getSessionFactory().openSession();
        sesion.beginTransaction();
        String sql = "SELECT id_categoria,nombre_categoria,activo FROM categoria ORDER BY nombre_categoria";
        SQLQuery query = sesion.createSQLQuery(sql).addEntity(Categoria.class);
        lista = query.list();
        sesion.getTransaction().commit();
    } catch (HibernateException e) {
        System.out.println("Error en la conexion con la base de datos: " + e);
        throw e;
    } catch (Exception e) {
        System.out.println("Error obtener lista categorias: " + e);
    } finally {
        if (sesion != null) {
            sesion.close();
        }
    }

    return lista;
}

From source file:administracion.actions.GestorOperacionesGenero.java

public List<Categoria> obtenerListaCategoriasActivas() {
    Session sesion = null;
    List<Categoria> lista = null;
    try {/*  ww w  .j a v a  2  s . com*/
        HibernateUtil hb = new HibernateUtil();
        sesion = hb.getSessionFactory().openSession();
        sesion.beginTransaction();
        String sql = "SELECT id_categoria,nombre_categoria,activo FROM categoria WHERE activo = true ORDER BY nombre_categoria";
        SQLQuery query = sesion.createSQLQuery(sql).addEntity(Categoria.class);
        lista = query.list();
        sesion.getTransaction().commit();
    } catch (HibernateException e) {
        System.out.println("Error en la conexion con la base de datos: " + e);
        throw e;
    } catch (Exception e) {
        System.out.println("Error obtener lista categorias: " + e);
    } finally {
        if (sesion != null) {
            sesion.close();
        }
    }

    return lista;
}

From source file:administracion.actions.GestorOperacionesGenero.java

public int actualizarEstadoCategoria(int id, boolean activo) {
    Session sesion = null;
    int resultadoOperacion = 0;

    try {/* w w  w  .j  a v  a2  s  .  c  o m*/
        HibernateUtil hb = new HibernateUtil();
        sesion = hb.getSessionFactory().openSession();
        sesion.beginTransaction();
        String sql = "UPDATE categoria SET activo = " + activo + " WHERE id_categoria = " + id;
        SQLQuery query = sesion.createSQLQuery(sql);
        query.executeUpdate();

        //Si deshabilitamos la categoria Hamburguesa deshabilitamos la categoria Extra
        Categoria categoria = obtenerCategoria(id); //Obtenemos la informacion de la categoria que acabamos de deshabilitar
        if (categoria.getNombre().equals("Hamburguesa")) { //Si el nombre de la categoria es Hamburguesa
            //Obtenemos el id de la categoria Extra
            Categoria categoriaExtra = obtenerCategoria("Extra");
            String sql1 = "UPDATE categoria SET activo = " + activo + " WHERE id_categoria = "
                    + categoriaExtra.getId();
            SQLQuery query1 = sesion.createSQLQuery(sql1);
            query1.executeUpdate();
        }

        sesion.getTransaction().commit();
        resultadoOperacion = OPERACION_SUCCESS;
    } catch (HibernateException e) {
        System.out.println("Error en la conexion con la base de datos: " + e);
        throw e;
    } catch (Exception e) {
        resultadoOperacion = OPERACION_ERROR;
        System.out.println("Error baja usuario: " + e);
    } finally {
        if (sesion != null) {
            sesion.close();
        }
    }
    return resultadoOperacion;
}

From source file:administracion.actions.GestorOperacionesGenero.java

public int insertarCategoria(String nombre, boolean check) {
    Session sesion = null;
    int resultadoOperacion;

    try {/*from  w  w w  .jav a  2s  .  c om*/
        HibernateUtil hb = new HibernateUtil();
        sesion = hb.getSessionFactory().openSession();
        sesion.beginTransaction();
        String sql = "INSERT INTO categoria (nombre_categoria, activo) VALUES ('" + nombre + "', " + check
                + ")";
        SQLQuery query = sesion.createSQLQuery(sql);
        query.executeUpdate();
        sesion.getTransaction().commit();
        resultadoOperacion = OPERACION_SUCCESS;
    } catch (ConstraintViolationException e) {
        resultadoOperacion = CLAVE_DUPLICADA;
        System.out.println("Error alta categoria por calve duplicada: " + e);
    } catch (HibernateException e) {
        System.out.println("Error en la conexion con la base de datos: " + e);
        throw e;
    } catch (Exception e) {
        resultadoOperacion = OPERACION_ERROR;
        System.out.println("Error alta categoria: " + e);
    } finally {
        if (sesion != null) {
            sesion.close();
        }
    }
    return resultadoOperacion;
}

From source file:administracion.actions.GestorOperacionesGenero.java

public Categoria obtenerCategoria(int id) {
    Session sesion = null;
    Categoria categoria = null;/*ww  w . j  a va2  s  . co m*/
    try {
        HibernateUtil hb = new HibernateUtil();
        sesion = hb.getSessionFactory().openSession();
        sesion.beginTransaction();
        String sql = "SELECT id_categoria,nombre_categoria,activo FROM categoria WHERE id_categoria = " + id;
        SQLQuery query = sesion.createSQLQuery(sql).addEntity(Categoria.class);
        categoria = (Categoria) query.list().get(0);
        sesion.getTransaction().commit();
    } catch (HibernateException e) {
        System.out.println("Error en la conexion con la base de datos: " + e);
        throw e;
    } catch (Exception e) {
        System.out.println("Error obtener categoria: " + e);
    } finally {
        if (sesion != null) {
            sesion.close();
        }
    }

    return categoria;
}

From source file:administracion.actions.GestorOperacionesGenero.java

public Categoria obtenerCategoria(String nombreCategoria) {
    Session sesion = null;
    Categoria categoria = null;//from   ww w.j  a  v a 2 s.c  om
    try {
        HibernateUtil hb = new HibernateUtil();
        sesion = hb.getSessionFactory().openSession();
        sesion.beginTransaction();
        String sql = "SELECT id_categoria,nombre_categoria,activo FROM categoria WHERE nombre_categoria = '"
                + nombreCategoria + "'";
        SQLQuery query = sesion.createSQLQuery(sql).addEntity(Categoria.class);
        categoria = (Categoria) query.list().get(0);
        sesion.getTransaction().commit();
    } catch (HibernateException e) {
        System.out.println("Error en la conexion con la base de datos: " + e);
        throw e;
    } catch (Exception e) {
        System.out.println("Error obtener categoria: " + e);
    } finally {
        if (sesion != null) {
            sesion.close();
        }
    }

    return categoria;
}