Example usage for org.hibernate Session persist

List of usage examples for org.hibernate Session persist

Introduction

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

Prototype

void persist(Object object);

Source Link

Document

Make a transient instance persistent.

Usage

From source file:Dao.SeatReservedDAO.java

public void addSeatReserved(SeatReserved u) {
    Session session = this.sessionFactory.getCurrentSession();
    session.persist(u);
    logger.info("SeatReserved saved successfully, SeatReserved Details=" + u);
}

From source file:dao.StudentsDaoImpl.java

@Override
public void addStudent(Students student) {
    Session session = this.sessionFactory.getCurrentSession();
    session.persist(student);
    logger.info("Student successfully saved. Student details: " + student);
}

From source file:dao.SubscripcionesDao.java

/**
 * Crea una subscripcin en la base de datos. Se comprueba que el restaurante no tiene ninguna
 * subscripcin, si es as, se obtiene el tipo de subscripcin de la base de datos y se le asigna
 * a ste creando una nueva subscripcin en la base de datos.
 * /*  ww w . j  a  v a 2  s  .  c om*/
 * @param idRestaurante Identificador del restaurante a subscribir.
 * @param idTipoSubscripcion Identificador del tipo de subscripcin.
 * @param fechaInicio Date fecha a partir de la cual se aplicar el periodo de subscripcin.
 * @return True or False si la operacin ha tenido xito.
 */
public boolean create(int idRestaurante, int idTipoSubscripcion, Date fechaInicio) {

    boolean creado = false;
    Restaurantes restaurante = null;
    Subscripciones subscripcion = null;
    SubscripcionesTipos tipo = null;
    Session session = null;

    try {
        session = sessionFactory.openSession();

        SubscripcionesId subsIdAux = new SubscripcionesId(idRestaurante, idTipoSubscripcion);

        //Comprobamos si existe alguna subscripcin
        session.beginTransaction();
        Criteria criteria = session.createCriteria(Subscripciones.class)
                .add(Restrictions.like("id", subsIdAux));
        Subscripciones subscripcionControl = (Subscripciones) criteria.uniqueResult();
        session.getTransaction().commit();

        if (subscripcionControl == null
                || (subscripcionControl.getSubscripcionesTipos().getId() != idTipoSubscripcion)) {

            //Recuperamos el tipo de subscripcin y el restaurante de la base de datos.
            session.beginTransaction();
            restaurante = (Restaurantes) session.get(Restaurantes.class, idRestaurante);
            tipo = (SubscripcionesTipos) session.get(SubscripcionesTipos.class, idTipoSubscripcion);
            session.getTransaction().commit();

            //Creamos el nuevo objeto a persistir en la base de datos.
            SubscripcionesId subsId = new SubscripcionesId(idRestaurante, idTipoSubscripcion);
            subscripcion = new Subscripciones(subsId, restaurante, tipo, fechaInicio,
                    Utils.sumarDiasFecha(fechaInicio, tipo.getDias()), isActivo(fechaInicio, idRestaurante));

            //Persistencia de datos
            session.beginTransaction();
            session.persist(subscripcion);
            session.getTransaction().commit();
            creado = true;
        }
    } catch (Exception e) {
        if (session != null) {
            session.getTransaction().rollback();
            System.out.println("\n Error message:\n" + e.getMessage() + "\n");
        }
        creado = false;
    } finally {
        if (session != null) {
            session.close();
        }
    }
    return creado;
}

From source file:dao.SubscripcionesDao.java

/**
 * Actualiza los datos de una subscripcin. Se comprobar que ya existe una subscripcin para
 * el restaurante indicado y se actualizar en caso de que el tipo de subscripcin sea 
 * diferente al anterior. Hay que tener en cuenta que se sobreescribir la subscripcin sin
 * tener en cuenta la validez de la anterior.
 * /*from   ww w .  j  ava2 s.co m*/
 * @param idRestaurante Identificador del restaurante a subscribir.
 * @param idTipoSubscripcion Identificador del tipo de subscripcin.
 * @param fechaInicio Date fecha a partir de la cual se aplicar la subscripcin.
 * @return True or False si la operacin ha tenido xito.
 */
public boolean update(int idRestaurante, int idTipoSubscripcion, Date fechaInicio) {

    boolean actualizado = false;
    Subscripciones subscripcion = null;
    SubscripcionesTipos tipo = null;
    Session session = null;

    try {
        session = sessionFactory.openSession();

        //Comprobamos si existe alguna subscripcin
        session.beginTransaction();
        Criteria criteria = session.createCriteria(Subscripciones.class)
                .add(Restrictions.like("id_restaurante", idRestaurante));
        subscripcion = (Subscripciones) criteria.uniqueResult();
        session.getTransaction().commit();

        if (subscripcion != null || (subscripcion.getSubscripcionesTipos().getId() != idTipoSubscripcion)) {

            //Recuperamos el tipo de subscripcin y el restaurante de la base de datos.
            session.beginTransaction();
            tipo = (SubscripcionesTipos) session.get(SubscripcionesTipos.class, idTipoSubscripcion);
            session.getTransaction().commit();

            //Asignamos el nuevo tipo de subscripcin si este no existe actualmente.
            if (subscripcion.getId().getIdTipoSubscripcion() != idTipoSubscripcion) {
                subscripcion.getId().setIdTipoSubscripcion(idTipoSubscripcion);

                //Actualizamos los datos.
                GregorianCalendar cal = new GregorianCalendar();
                subscripcion.setFechaInicio(fechaInicio);
                subscripcion.setFechaFinal(Utils.sumarDiasFecha(fechaInicio, tipo.getDias()));
                subscripcion.setActiva(isActivo(subscripcion.getFechaInicio(),
                        subscripcion.getSubscripcionesTipos().getDias()));

                //Persistencia de datos
                session.beginTransaction();
                session.persist(subscripcion);
                session.getTransaction().commit();
                actualizado = true;
            }
        }
    } catch (Exception e) {
        if (session != null) {
            session.getTransaction().rollback();
            System.out.println("\n Error message:\n" + e.getMessage() + "\n");
        }
        actualizado = false;
    } finally {
        if (session != null) {
            session.close();
        }
    }

    return actualizado;
}

From source file:dao.SubscripcionesDao.java

/**
 * Crea un tipo de subscripcin en la base de datos si no existe uno con el
 * mismo nombre.//from   w w w  .j  av a 2s  .co m
 *
 * @param nombre String nombre del tipo de subscripcin.
 * @param dias int das de validez del tipo de subscripcin.
 * @param precio float precio del tipo de subscripcin.
 * @return True or False si la operacin ha tenido xito.
 */
public boolean createTipo(String nombre, int dias, float precio) {

    boolean creado = false;
    SubscripcionesTipos tipo = null;
    Session session = null;

    try {
        session = sessionFactory.openSession();

        //Comprobamos que este no existe ya en la base de datos.
        session.beginTransaction();
        Criteria criteria = session.createCriteria(SubscripcionesTipos.class)
                .add(Restrictions.like("nombre", nombre));
        SubscripcionesTipos tipoControl = (SubscripcionesTipos) criteria.uniqueResult();
        session.getTransaction().commit();

        if (tipoControl == null) {

            //Creamos el nuevo objeto a persistir en la base de datos.
            tipo = new SubscripcionesTipos(nombre, dias, precio);

            //Persistencia de datos
            session.beginTransaction();
            session.persist(tipo);
            session.getTransaction().commit();
            creado = true;
        }

    } catch (Exception e) {
        if (session != null) {
            session.getTransaction().rollback();
            System.out.println("\n Error message:\n" + e.getMessage() + "\n");
        }
        creado = false;
    } finally {
        if (session != null) {
            session.close();
        }
    }
    return creado;
}

From source file:dao.SubscripcionesDao.java

/**
 * Actualiza los datos de un tipo de subscripcin de la base de datos.
 *
 * @param idTipo Identificador del tipo de subscripcin a modificar.
 * @param nombre String nombre del tipo de subscripcin.
 * @param dias int das de validez del tipo de subscripcin.
 * @param precio float precio del tipo de subscripcin.
 * @return True or False si la operacin ha tenido xito.
 *//*w w  w. ja  v a2s.  c  o m*/
public boolean updateTipo(int idTipo, String nombre, int dias, float precio) {

    boolean actualizado = false;
    SubscripcionesTipos tipo = null;
    Session session = null;

    try {
        session = sessionFactory.openSession();

        //Primero obtenemos el tipo de restaurante de la BD
        session.beginTransaction();
        tipo = (SubscripcionesTipos) session.get(SubscripcionesTipos.class, idTipo);
        session.getTransaction().commit();

        if (tipo != null) {

            //Actualizamos valores
            if (!tipo.getNombre().equals(nombre)) {
                tipo.setNombre(nombre);
            }
            if (tipo.getDias() != dias) {
                tipo.setDias(dias);
            }
            if (tipo.getPrecio() != precio) {
                tipo.setPrecio(precio);
            }

            //Persistencia de datos
            session.beginTransaction();
            session.persist(tipo);
            session.getTransaction().commit();
            actualizado = true;
        }
    } catch (Exception e) {
        if (session != null) {
            session.getTransaction().rollback();
            System.out.println("\n Error message:\n" + e.getMessage() + "\n");
        }
        actualizado = false;
    } finally {
        if (session != null) {
            session.close();
        }
    }

    return actualizado;
}

From source file:DAO.test.java

public static void main(String[] args) {
    SessionFactory sessionFactory = new Configuration().configure("/resources/hibernate.cfg.xml")
            .buildSessionFactory();/*from  ww w . ja va 2s  .  c o  m*/
    Session session = sessionFactory.openSession();

    Student s1 = new Student();
    Teacher t1 = new Teacher();
    s1.setFirstName("azzas");
    s1.setLastName("hamdy2");
    s1.setDepartment("EWD");
    t1.setFirstName("eman");
    t1.setLastName("hesham");
    t1.setHireDate(new Date());

    session.save(t1);
    session.save(s1);
    session.beginTransaction();

    session.persist(t1);
    session.persist(s1);
    session.getTransaction().commit();
    System.out.println("Insertion Done");
}

From source file:Dao.TheatreDAO.java

public void addTheatre(Theatre u) {
    Session session = this.sessionFactory.getCurrentSession();
    session.persist(u);
    logger.info("Theatre saved successfully, Theatre Details=" + u);
}

From source file:Dao.TheatreRoomDAO.java

public void addTheatreRoom(TheatreRoom u) {
    Session session = this.sessionFactory.getCurrentSession();
    session.persist(u);
    logger.info("TheatreRoom saved successfully, TheatreRoom Details=" + u);
}

From source file:Dao.TicketDAO.java

public void addTicket(Ticket u) {
    Session session = this.sessionFactory.getCurrentSession();
    session.persist(u);
    logger.info("Ticket saved successfully, Ticket Details=" + u);
}