Los ejercicios de esta unidad son para organizar el código y creará una pequeña aplicación web.
Siguiendo con el Ejercicio01 de la unidad anterior, haz los siguientes cambios:
Main
usa la clase HibernateUtil
para todo lo que se pueda.DAO
y su implementación con Hibernate para la entidad Seguro
.DAO
y su implementación con Hibernate para la entidad AsistenciaMedica
.@Caption
para que los nombres de los campos sean mas amigables al mostrar un error.Main
para que ahora utilice la clase DAO de Seguro
y sólo trate con la excepción BusinessException
. @Caption
funcionan perfectamente.hbm.xml
, los interfaces DAO , las implementaciones DAO , etc. ,en paquetes separados.Este ejercicio es optativo.
BussinessException
para que cuando se produce la excepción ConstraintViolationException se muestre un mensaje que corresponda exactamente al error que ha ocurrido.Para ello deberás usar los métodos getErrorCode() y getSQLState() teniendo en cuenta los códigos específicos de MySQL. La lista completa se encuentra en Server Error Codes and MessagesBussinessException
para que sea fácilmente ampliable a varios tipos de bases de datos. Para ayudarte te propongo el siguiente diagrama UML.
Este ejercicio es optativo.
En el tratamiento de excepciones hemos visto como hacer que al mostrar el mensaje se vea el caption del campo en vez de el nombre de la propiedad Java. Ésta que es una ventaja también puede ser un inconveniente ya que desde la capa de presentación no podríamos asociar un mensaje de error con el input de dicho campos. Ya que no sabemos el nombre de la propiedad a la que está asociada dicho mensaje error.
El ejercicio consiste en evitar ese inconveniente mientras se sigue con la ventaja del caption.
Modifica la clase “BussinessMessage” para que se incluya tanto la propiedad fieldName
como caption
. De esa forma se podrán usar ambas sin inconvenientes.
Para poder realizar hacer cambio también deberás modificar la clase BussinessException