Spring ORM

24
Spring ORM Mayer Horna García 15 de Marzo de 2010 [email protected] [email protected] http://www.linkedin.com/in/mayerhorn a http://mayerhorna.blogspot.com @mayerhorna http://osum.sun.com/group/ springperu http://spring.pe

description

Ponencia: Hibernate y Spring ORM - Mayer Horna

Transcript of Spring ORM

Page 1: Spring ORM

Spring ORM

Mayer Horna García

15 de Marzo de 2010

[email protected]

[email protected]

http://www.linkedin.com/in/mayerhorna

http://mayerhorna.blogspot.com

@mayerhorna

http://osum.sun.com/group/springperu

http://spring.pe

Page 2: Spring ORM

Objetivos

• Entender:

▫ Que es Spring ORM

▫ Que es Hibernate

▫ La importancia de Hibernate

▫ Como se integra Hibernate con Spring Framework

Page 3: Spring ORM

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

Page 4: Spring ORM

Spring ORM

Page 5: Spring ORM

Spring ORM

Page 6: Spring ORM

Recordando JDBC

Evolución

Page 7: Spring ORM

Se ve mejor con con Spring - JDBC

Page 8: Spring ORM

Se ve mucho mejor con el soporte de spring para hibernate

Page 9: Spring ORM

¿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.

Page 10: Spring ORM

¿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

Page 11: Spring ORM

• 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?

Page 12: Spring ORM

Arquitectura de Hibernate

Page 13: Spring ORM

Demos de Introducción a Hibernate* Persiste una Bean Evento en tabla evento:

Proyecto: - 00HibernateGrabarEvento

Page 14: Spring ORM

Demos de Introducción a Hibernate* Estrategias para Generación de Claves Primarias:

Proyectos: - 01HibernateGrabarClienteKeyByIncrement - 02HibernateGrabarClienteKeyBySequence -

03HibernateGrabarClienteKeyByExternalClass

Page 15: Spring ORM

Demos de Introducción a Hibernate* Mapping

Proyectos: - 04HibernateManyToOne - 05HibernateOneToMany - 06HibernateManyToMany

Page 16: Spring ORM

Demos de Introducción a Hibernate* Herencia

Proyectos: -

07HibernateClassHierarchyMappingTablePerSubclass

Page 17: Spring ORM

Demos de Introducción a Hibernate* Consultas a la base de datos con Criteria

Proyectos: - 08HibernateCriteriaQueryWithRestriction - 09HibernateCriteriaQueryProjection - 10HibernateCriteriaQueryFetchModes

Page 18: Spring ORM

Demos de Introducción a Hibernate* Consultas a la base de datos con HQL

Proyectos: - 11HibernateHQLQuery

Page 19: Spring ORM

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):

Page 20: Spring ORM

Demos de Integración Hibernate-Spring* Proyecto Spring sin Hibernate: - hibernate_and_spring-start

Page 21: Spring ORM

Demos de Integración Hibernate-Spring* Proyecto Spring con Hibernate: - hibernate_and_spring-solution

Page 22: Spring ORM

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/

Page 23: Spring ORM

Preguntas

Page 24: Spring ORM

Mayer Horna García

[email protected]

[email protected]

http://www.linkedin.com/in/mayerhorna

http://mayerhorna.blogspot.com

@mayerhorna

http://osum.sun.com/group/springperu

http://spring.pe

Gracias