All pastes #924373 Raw Edit

Mine

public text v1 · immutable
·published 2008-03-01 08:00 UTC
rendered paste body
/*
 * Universidad de San Carlos de Guatemala
 * Facultad de Ingenieria
 * Escuela de Ciencias y Sistemas
 */

package pruebahibernate;

import java.util.Date;
import org.hibernate.Session;

/**
 *
 * @author Alvaro Daniel Castillo Carrera
 */
public class Main {
//    private Session session;
    
    public Main() {
//        session = Utilidades.getSessionFactory().getCurrentSession();
    }
    /**
     * Metodo principal encargado de ejecutar la aplicacion.
     * @param args
     */
    public static void main(String[] args) {
        Main mgr = new Main();
        
        // se agrega un nuevo trabajo
        int cod_trabajo = mgr.agregarTrabajo(100, "Programar", new Date());
        // se agrega un nuevo trabajador
        int cod_trabajador = mgr.agregarTrabajador(100, "Daniel", "55083742");
        // se le asigna una direccion al trabajador
        mgr.agregarDireccion(cod_trabajador, "Colonia Santa Elisa");
        // se le asigna un trabajo al trabajador
        mgr.asignarTrabajo(cod_trabajador, cod_trabajo);
        
        mgr.modificarTrabajador(cod_trabajador, "24761543");
        mgr.borrarTrabajador(cod_trabajador);
        
        // se cierra la sesion
        Utilidades.getSessionFactory().close();
    }
//_________________________________________________________________________________________________
    /**
     * Este metodo se encarga de agregar un Trabajo a la base de datos.
     * @param id_trabajo
     * @param nombre
     * @param fecha
     * @return int
     */
    private int agregarTrabajo(int id_trabajo, String nombre, Date fecha) {
        // se obtiene la sesion
        Session session = Utilidades.getSessionFactory().getCurrentSession();
        // se inicia la transaccion
        session.beginTransaction();
        
        // se crea un objeto Trabajo
        Trabajo trabajo = new Trabajo();
        trabajo.setId_trabajo(id_trabajo);
        trabajo.setNombre(nombre);
        trabajo.setFecha(fecha);
        
        // se almacena en la base de datos el objeto
        session.save(trabajo);
        // se hace persistente el objeto
        session.getTransaction().commit();
        System.out.println("SE AGREGO UN TRABAJO CON LOS SIGUIENTES DATOS:\n");
        System.out.println("\tID_TRABAJO = " + id_trabajo + "\n");
        System.out.println("\tNOMBRE = " + nombre + "\n");
        System.out.println("\tFECHA = " + fecha + "\n\n\n");
        return id_trabajo;
    }
//_________________________________________________________________________________________________
    /**
     * Este metodo se encarga de agregar un Trabajador a la base de datos.
     * @param id_trabajador
     * @param nombre
     * @param telefono
     * @return int
     */
    private int agregarTrabajador(int id_trabajador, String nombre, String telefono) {
        // se obtiene la sesion
        Session session = Utilidades.getSessionFactory().getCurrentSession();
        // se inicia la transaccion
        session.beginTransaction();

        // se crea un objeto Trabajador
        Trabajador trabajador = new Trabajador();
        trabajador.setId_trabajador(id_trabajador);
        trabajador.setNombre(nombre);
        trabajador.setTelefono(telefono);

        // se almacena en la base de datos el objeto
        session.save(trabajador);
        // se hace persistente el objeto
        session.getTransaction().commit();
        System.out.println("SE AGREGO UN TRABAJADOR CON LOS SIGUIENTES DATOS:\n");
        System.out.println("\tID_TRABAJADOR = " + id_trabajador + "\n");
        System.out.println("\tNOMBRE = " + nombre + "\n");
        System.out.println("\tTELEFONO = " + telefono + "\n\n\n");
        return id_trabajador;
    }
//_________________________________________________________________________________________________
    /**
     * Este metodo se encarga de agregar direcciones. Estas direcciones
     * son asociadas a un trabajador.
     * @param id_trabajador
     * @param direccion
     */
    private void agregarDireccion(int id_trabajador, String direccion) {
        // se obtiene la sesion
        Session session = Utilidades.getSessionFactory().getCurrentSession();
        // se inicia la transaccion
        session.beginTransaction();
        // se obtiene un objeto Trabajador de la base de datos
        Trabajador trabajador = (Trabajador) session.load(Trabajador.class, id_trabajador);
        // se le agrega la nueva direccion
        trabajador.getDirecciones().add(direccion);
        // se hace persiste el objeto
        session.getTransaction().commit();
        System.out.println("SE AGREGO UNA DIRECCION AL TRABAJADOR:\n");
        System.out.println("\tID_TRABAJADOR = " + id_trabajador + "\n");
        System.out.println("\tDIRECCION = " + direccion + "\n\n\n");
    }
//_________________________________________________________________________________________________
    /**
     * Este metodo se encarga de asignar trabajos a los trabajadores.
     * @param id_trabajador
     * @param id_trabajo
     */
    private void asignarTrabajo(int id_trabajador, int id_trabajo) {
        // se obtiene la sesion
        Session session = Utilidades.getSessionFactory().getCurrentSession();
        // se inicia la transaccion
        session.beginTransaction();
        // se obtiene un objeto Trabajador de la base de datos
        Trabajador trabajador = (Trabajador) session.load(Trabajador.class, id_trabajador);
        // se obtiene un objeto Trabajo de la base de datos
        Trabajo trabajo = (Trabajo) session.load(Trabajo.class, id_trabajo);
        // se agrega la asignacion de trabajo al trabajador
        trabajador.getTrabajos().add(trabajo);
        // se hace persiste el objeto
        session.getTransaction().commit();
        System.out.println("SE REALIZO LA SIGUIENTE ASIGNACION DE TRABAJO:\n");
        System.out.println("\tID_TRABAJO = " + id_trabajo + "\n");
        System.out.println("\tID_TRABAJADOR = " + id_trabajador + "\n\n\n");
    }
//_________________________________________________________________________________________________
    private void modificarTrabajador(int id_trabajador, String telefono) {
        // se obtiene la sesion
        Session session = Utilidades.getSessionFactory().getCurrentSession();
        // se inicia la transaccion
        session.beginTransaction();
        // se obtiene un objeto Trabajador de la base de datos
        Trabajador trabajador = (Trabajador) session.load(Trabajador.class, id_trabajador);
        // se realiza la modificacion del trabajador
        trabajador.setTelefono(telefono);
        // se realiza la actualizacion
        session.update(trabajador);
        // se hace persiste el objeto
        session.getTransaction().commit();
        System.out.println("SE MODIFICO LA INFORMACION DEL SIGUIENTE TRABAJADOR:\n");
        System.out.println("\tID_TRABAJADOR = " + id_trabajador + "\n");
        System.out.println("\tNUEVO TELEFONO = " + telefono + "\n\n\n");
    }
//_________________________________________________________________________________________________
    private void borrarTrabajador(int id_trabajador) {
        // se obtiene la sesion
        Session session = Utilidades.getSessionFactory().getCurrentSession();
        // se inicia la transaccion
        session.beginTransaction();
        // se obtiene un objeto Trabajador de la base de datos
        Trabajador trabajador = (Trabajador) session.load(Trabajador.class, id_trabajador);
        // se elimina el registro
        session.delete(trabajador);
        // se hace persiste el objeto
        session.getTransaction().commit();
        System.out.println("SE ELIMINO EL SIGUIENTE TRABAJADOR:\n");
        System.out.println("\tID_TRABAJADOR = " + id_trabajador + "\n\n\n");
    }
}
//_________________________________________________________________________________Fin de Main.java