Spring ORM
-
Upload
mayer-horna -
Category
Technology
-
view
3.272 -
download
29
description
Transcript of Spring ORM
Spring ORM
Mayer Horna García
15 de Marzo de 2010
http://www.linkedin.com/in/mayerhorna
http://mayerhorna.blogspot.com
@mayerhorna
http://osum.sun.com/group/springperu
http://spring.pe
Objetivos
• Entender:
▫ Que es Spring ORM
▫ Que es Hibernate
▫ La importancia de Hibernate
▫ Como se integra Hibernate con Spring Framework
Agenda
•Spring ORM
•Evolución del código para acceso a datos
•¿Por qué usar un ORM?
•¿Qué es Hibernate?
•¿Por qué usar Hibernate?
•Demos con Hibernate
•Demo con integración de Hibernate y Spring
Spring ORM
Spring ORM
Recordando JDBC
Evolución
…
Se ve mejor con con Spring - JDBC
Se ve mucho mejor con el soporte de spring para hibernate
¿Porqué usar un ORM(Object/Relational Mapping) en nuestra aplicación? Una parte importante de cualquier aplicación es la capa de persistencia.
Poder acceder y manipular data de una base de datos relacional.
ORM se encarga del problema Objetos-BD Relacional: La data vive en el base de datos relacional, la cual es manejado por
tablas(con registros y columnas).
Nosotros queremos trabajar con objetos, no con registros y columnas de
tablas.
¿Qué es Hibernate?• Es un ORM para habilitar la persistencia de POJOs.
▫ Te permite trabajar sin verte limitado por el modelo de datos relacional. Lo que busca es crear una base de datos orientada a objetos.
• Te permite crear objetos persistentes siguiendo los conceptos de programación OO▫ Asociación.▫ Herencia.▫ Polimorfismo.▫ Composición.▫ Collection API para “many” relationship
• Permite a los desarrolladores centrarse en el modelamiento de dominio.
• Performance.▫ Caché de objetos de alto rendimiento.▫ Configurable formas de cómo plantear estrategias de
persistencia.• Sofisticadas facilidades para las consultas
▫ Criteria API▫ Query By Example (QBE)▫ Hibernate Query Language (HQL)▫ Native SQL
¿Por qué usar Hibernate?
Arquitectura de Hibernate
Demos de Introducción a Hibernate* Persiste una Bean Evento en tabla evento:
Proyecto: - 00HibernateGrabarEvento
Demos de Introducción a Hibernate* Estrategias para Generación de Claves Primarias:
Proyectos: - 01HibernateGrabarClienteKeyByIncrement - 02HibernateGrabarClienteKeyBySequence -
03HibernateGrabarClienteKeyByExternalClass
Demos de Introducción a Hibernate* Mapping
Proyectos: - 04HibernateManyToOne - 05HibernateOneToMany - 06HibernateManyToMany
Demos de Introducción a Hibernate* Herencia
Proyectos: -
07HibernateClassHierarchyMappingTablePerSubclass
Demos de Introducción a Hibernate* Consultas a la base de datos con Criteria
Proyectos: - 08HibernateCriteriaQueryWithRestriction - 09HibernateCriteriaQueryProjection - 10HibernateCriteriaQueryFetchModes
Demos de Introducción a Hibernate* Consultas a la base de datos con HQL
Proyectos: - 11HibernateHQLQuery
Integración de Hibernate con Spring:
Necesitamos crear un bean sessionFactory que depende del bean dataSource, el cual especifica con base de datos se va a trabajar.En el bean sessionFactory, se indica donde están los archivos de mapeo (*.hbm.xml ). y de este dependen los componentes de acceso a datos (Daos):
Demos de Integración Hibernate-Spring* Proyecto Spring sin Hibernate: - hibernate_and_spring-start
Demos de Integración Hibernate-Spring* Proyecto Spring con Hibernate: - hibernate_and_spring-solution
Links de referencia
• Web oficial de hiberante▫ https://www.hibernate.org/
• API de hibernate 3
▫ https://www.hibernate.org/hib_docs/v3/api/
• Hibernate Reference Documentantion▫ http://docs.jboss.org/hibernate/stable/core/reference/en/
html/
Preguntas
Mayer Horna García
http://www.linkedin.com/in/mayerhorna
http://mayerhorna.blogspot.com
@mayerhorna
http://osum.sun.com/group/springperu
http://spring.pe
Gracias