/* * 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