Mapa mental
Hibernate (7,8)

Contenido del mapa
Hibernate (7,8)
SPRING
- Spring
- Es uno de los frameworks más usados en Java
- Capacidad de realizar Inyección de Dependencias y tiene un framework para desarrollo Web (Spring MVC)
- Para trabajar con el contenedor de Inyección de Dependencias
- 1.- Preparando Spring: Cómo inicializar Spring para que pueda funcionar.
- Spring necesita dos pasos para poder ser usado:
- 1.- Crear un fichero de configuración
- 2.- Crear un objeto con el contexto de Spring desde Java
- Spring necesita dos pasos para poder ser usado:
- 2.- Asignado Beans: Cómo indicarle a Spring que queremos que inyecte otro objeto en alguna propiedad de nuestro objeto.
- Hay tres formas de asignar un Bean a una propiedad/variable/método en Spring:
- 1.- Mediante el fichero de configuración applicationContext.xml
- 2.- Mediante las anotaciones
- 3.- Mediante código
- Hay tres formas de asignar un Bean a una propiedad/variable/método en Spring:
- Definiendo Beans: Cómo decirle a Spring los objetos que pueden ser inyectados.
- Spring permite dos formas de definir los beans
- En el fichero applicationContext.xml
- Mediante anotaciones
- Spring permite dos formas de definir los beans
- 1.- Preparando Spring: Cómo inicializar Spring para que pueda funcionar.
- Spring MVC
- Mejora el uso del API de Servlets pero sin estar muy alejados de ellos. En Spring en vez de usar Servlets usaremos clases Java llamadas controladores.
- Se integra perfectamente con la parte de Inyección de Dependencias de Spring.
- Ficheros de configuración
- web.xml: se añade código al fichero web.xml.
- Se deberá crear el fichero dispatcher-servlet.xml en la carpeta /WEB-INF.
- context.xml se utiliza para configurar el javax.sql.DataSource que usará el pool de conexiones.
- hibernate.cfg.xml es necesario modificarlo para indicarle a Hibernate que obtenga la conexiones a través del DataSource
- applicationContext.xml
- Manejo de peticiones
- realiza a través de los métodos del controlador
- Cada método gestionará las peticiones de una o más URLs y puede haber tantos métodos como se desee.
- Cada método que controla peticiones Web tendrá la anotación @RequestMapping
- Spring
ARQUITECTURA
- Excepciones
- En una operación con Hibernate se pueden lanzar 4 excepciones.
- 1.- javax.validation.ConstraintViolationException
- Se reconvierte en una BussinessException. Mediante: BussinessException. throw new BussinessException(cve);
- 2.- org.hibernate.exception.ConstraintViolationException
- 3.- RuntimeException
- Relanza la misma excepción mediante: throw ex;
- 4.-Exception
- Relanza la excepción envuelta en una RuntimeException mediante: throw new RuntimeException(ex);
- 1.- javax.validation.ConstraintViolationException
- BussinessException
- Se relanza sin ser modificada, mediante:. throw ex;
- Avisa que los datos de las entidades contienen algún tipo de error que debe ser modificado.
- Ventajas
- Unificar el tratamiento de las excepciones
- Simplificar el uso de javax.validation.ConstraintViolationException
- Mejorar los mensajes de error
- El código de BussinessException
- En una operación con Hibernate se pueden lanzar 4 excepciones.
- DAO
- Problema del patrón DAO es la repetición de código para cada una de las entidades.
- Los interfaces
- Los objetos DAO son interfaces asi se pueden tener varias implementaciones para cada interfaz
- Para evitar definir los mismos métodos en cada interfaz DAO se ha creado un interfaz padre
- Creando un nuevo objeto DAO
- Crear un nuevo interfaz que herede de una interfaz padre. El ejemplo es el siguiente: public interface MunicipioDAO extends GenericDAO<Municipio,Integer> { }
- Crear una nueva implementación para Hibernate que herede e implemente la interfaz. El ejemplo es el siguiente: public class MunicipioDAOImplHibernate extends GenericDAOImplHibernate<Municipio,Integer> implements MunicipioDAO { }
- Crear objetos DAO desde la aplicación, codigo de ejemplo: UsuarioDAO usuarioDAO = new UsuarioDAOImplHibernate(); ProfesorDAO profesorDAO = new ProfesorDAOImplHibernate();
- Crear una nueva implementación para Hibernate que herede e implemente la interfaz. El ejemplo es el siguiente: public class MunicipioDAOImplHibernate extends GenericDAOImplHibernate<Municipio,Integer> implements MunicipioDAO { }
- Crear un nuevo interfaz que herede de una interfaz padre. El ejemplo es el siguiente: public interface MunicipioDAO extends GenericDAO<Municipio,Integer> { }
- Paquetes
- Clases de un proyecto organizadas en paquetes
- Hay dos paquetes pricnipales
- com.fpmislata.persistencia
- Van las clases relacionadas con la persistencia pero que se reutilizan en los diversos proyectos.
- Dentro de el hay 3 paquetes
- com.fpmislata.persistencia.dao: Tiene todo los relacionado con el interfaz DAO.
- com.fpmislata.persistencia.dao.impl: Contiene la implementación genérica del interfaz DAO.
- com.fpmislata.persistencia.hibernate: Contiene la clase de utilidad de Hibernate .
- com.fpmislata.persistencia.dao.impl: Contiene la implementación genérica del interfaz DAO.
- com.fpmislata.persistencia.dao: Tiene todo los relacionado con el interfaz DAO.
- Dentro de el hay 3 paquetes
- Van las clases relacionadas con la persistencia pero que se reutilizan en los diversos proyectos.
- ejemplo04
- Aquí ponemos las clases que son específicas de nuestro proyecto.
- Dentro hay 4 paquetes
- ejemplo04.dominio
- ejemplo04.persistencia.dao
- ejemplo04.persistencia.dao.impl
- ejemplo04.presentacion
- ejemplo04.persistencia.dao.impl
- ejemplo04.persistencia.dao
- ejemplo04.dominio
- Dentro hay 4 paquetes
- Aquí ponemos las clases que son específicas de nuestro proyecto.
- com.fpmislata.persistencia
- HibernateUtil
- SessionFactory
- 3 formas de acceder al objeto SessionFactory
- Inyección de Dependencias.
- A cualquier objeto se le asigna una referencia a SessionFactory mediante el uso de un framework de Inyección de Dependencias.
- Objeto global.
- Tener a SessionFactory como una variable global así cualquier objeto puede acceder a él .
- Paso del objeto entre clases.
- Pasar el objeto SessionFactory por todos los objetos hasta llegar al que lo necesita.
- Inyección de Dependencias.
- Debe ser creada ya que no está incluida en Hibernate
- Contiene código (método) estático
- Inicializa Hibernate, crea y da acceso al objeto SessionFactory
- El código que genera NetBeans para la clase HibernateUtil
- Excepciones
Imágenes y archivos del mapa
Información
- Descripción
- mapa metal del tema 7 y 8 del curso de hibernate
- Creado por
- Maria Orca · oct 2017
- Actualizado
- 10 oct 2017
- Visitas
- 57
- Etiquetas
- Valoración


