¡Esta es una revisión vieja del documento!


Claves Primarias y Tipos de datos

En esta unidad vamos a generar automáticamente las claves primarias, crear componentes de Hibernate y añadir enumerados.

En los ejercicios de esta unidad se van a usar la siguientes clases Java (entidades). PlantUML Graph

El modelo de tablas asociado a las entidades es el siguiente: PlantUML Graph

Ejercicio01

Modifica el Ejercicio01 de la unidad anterior para incluir las siguientes tareas:

Siguiendo el diagrama de clases Java anterior:

  • Crea el enumerado TipoAsistencia y sus valores
  • Crea el enumerado Sexo y sus valores
  • Crea la clase NIF , su propiedad y los métodos get/set
  • Crea la clase Coberturas , sus propiedades y los métodos get/set
  • Crea la clase Enfermedades , sus propiedades y los métodos get/set
  • Modifica la clase Seguro para incluir las nuevas propiedades y los nuevos métodos get/set
  • En la clase Seguro haz que la propiedad nif sea del tipo NIF pero que en Hibernate sea un componente en vez de una nueva entidad.
  • Haz que las propiedades enfermedades y coberturas sean componentes de la clase Seguro.
  • Modifica la clase AsistenciaMedica para incluir las nuevas propiedades y los nuevos métodos get/set
  • Modifica la configuración de Hibernate de las clases Seguro y AsistenciaMedica para indicar a Hibernate que la base de datos genera automáticamente las claves primarias usando un autonumérico.
  • Haz que en la propiedad fecha de la clase AsistenciaMedica solo se guarde la fecha y no la hora.
  • Haz que en la propiedad hora de la clase AsistenciaMedica solo se guarde la hora y no la fecha.
  • Haz que en la propiedad explicacion de la clase AsistenciaMedica se puedan guardar más de 255 caracteres.
  • Haz que en la propiedad importe de la clase AsistenciaMedica se guarde como un BigDecimal.
  • Al configurar los enumerados ten en cuenta el tipo de datos que se ha definido en la base de datos.

Para ello usa los ficheros ”.hbm.xml” de Hibernate.

La clase Main deberá incluir el siguiente código de creación de los distintos objetos:

 1: SimpleDateFormat sdfFecha=new SimpleDateFormat("dd/MM/yyyy");
 2: sdfFecha.setLenient(false);
 3: SimpleDateFormat sdfHora=new SimpleDateFormat("HH:mm:ss");
 4: sdfHora.setLenient(false);
 5: Seguro seguro = new Seguro(new Nif("36254784E"), "Rosa", "Ramirez", "Arellano", 41, Sexo.Mujer, true, 1, false, new Coberturas(false, true, false), new Enfermedades(true, false, true, false, null), new Date());
 6: AsistenciaMedica asistenciaMedica1 = new AsistenciaMedica(seguro, "Golpe en el brazo", "Madrid", "Fractura del radio derecho de la mano debido a golpe contundente con el suelo. Se escayola el brazo", TipoAsistencia.Hospitalaria, sdfFecha.parse("31/12/2013"),sdfHora.parse("11:21:45"), new BigDecimal("700.31"));
 7: AsistenciaMedica asistenciaMedica2 = new AsistenciaMedica(seguro, "Fiebre alta", "Alzira", "El paciente presenta cuadro alto de fiabre con deficultad para respirar. Se recetan antibioticos.", TipoAsistencia.Ambulatoria, sdfFecha.parse("27/02/2013"), sdfHora.parse("12:34:16"), new BigDecimal("81.14"));
 8: seguro.getAsistenciasMedicas().add(asistenciaMedica1);
 9: seguro.getAsistenciasMedicas().add(asistenciaMedica2);

Ahora añade a la clase Main el código de hibernate necesario para que al guardar el objeto seguro se guarde todo en la base de datos.

Ejercicio02

Modifica el Ejercicio02 de la unidad anterior para incluir las siguientes tareas:

Siguiendo el diagrama de clases Java anterior:

  • Crea el enumerado TipoAsistencia y sus valores
  • Crea el enumerado Sexo y sus valores
  • Crea la clase NIF , su propiedad y los métodos get/set
  • Crea la clase Coberturas , sus propiedades y los métodos get/set
  • Crea la clase Enfermedades , sus propiedades y los métodos get/set
  • Modifica la clase Seguro para incluir las nuevas propiedades y los nuevos métodos get/set
  • En la clase Seguro haz que la propiedad nif sea del tipo NIF pero que en Hibernate sea un componente en vez de una nueva entidad.
  • Haz que las propiedades enfermedades y coberturas sean componentes de la clase Seguro.
  • Modifica la clase AsistenciaMedica para incluir las nuevas propiedades y los nuevos métodos get/set
  • Modifica la configuración de Hibernate de las clases Seguro y AsistenciaMedica para indicar a Hibernate que la base de datos genera automáticamente las claves primarias usando un autonumérico.
  • Haz que en la propiedad fecha de la clase AsistenciaMedica solo se guarde la fecha y no la hora.
  • Haz que en la propiedad hora de la clase AsistenciaMedica solo se guarde la hora y no la fecha.
  • Haz que en la propiedad explicacion de la clase AsistenciaMedica se puedan guardar más de 255 caracteres.
  • Haz que en la propiedad importe de la clase AsistenciaMedica se guarde como un BigDecimal.
  • Al configurar los enumerados ten en cuenta el tipo de datos que se ha definido en la base de datos.

Para ello usa las anotaciones de JPA.

La clase Main deberá incluir el siguiente código de creación de los distintos objetos:

 1: SimpleDateFormat sdfFecha=new SimpleDateFormat("dd/MM/yyyy");
 2: sdfFecha.setLenient(false);
 3: SimpleDateFormat sdfHora=new SimpleDateFormat("HH:mm:ss");
 4: sdfHora.setLenient(false);
 5: Seguro seguro = new Seguro("48573562T", "Sara", "Tomas", "Martínez", 31, Sexo.Mujer, true, 1, true, new Coberturas(true, true, true), new Enfermedades(false, true, false, true, "Acaros"), new Date());
 6: AsistenciaMedica asistenciaMedica1 = new AsistenciaMedica(seguro, "Operación de miopía", "Barcelona", "El paciente es operado de miopía en los dos ojos.", TipoAsistencia.Hospitalaria, sdfFecha.parse("18/04/2013"),sdfHora.parse("08:30:00"), new BigDecimal("10400.20"));
 7: AsistenciaMedica asistenciaMedica2 = new AsistenciaMedica(seguro, "Analisis de alergia", "Alzira", "Se realizan analisis de sangre para determinar el tipo de alergia que padece el paciente.", TipoAsistencia.Ambulatoria, sdfFecha.parse("12/02/2012"), sdfHora.parse("18:30:00"), new BigDecimal("31.15"));
 8: seguro.getAsistenciasMedicas().add(asistenciaMedica1);
 9: seguro.getAsistenciasMedicas().add(asistenciaMedica2);

Ahora añade a la clase Main el código de hibernate necesario para que al guardar el objeto seguro se guarde todo en la base de datos.

ejercicios/unidad04.1368799108.txt.gz · Última modificación: 2016/07/03 20:16 (editor externo)
Ir hasta arriba
CC Attribution-Noncommercial-Share Alike 3.0 Unported
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0