Spring orm

Post on 13-Jun-2015

2.331 views 1 download

description

Presentacion de Spring Orm en el Spring Community Day 2010 - Lima Peru

Transcript of Spring orm

SPRING ORM CON HIBERNATE

Ing. José Luis BugarinCEO ILUMINATIC SACCertified Scrum Master

jbugarin@consultorjava.com

AGENDAIntroducción

Entendiendo Spring ORM

Entendiendo Hibernate

Librerías a Utilizar

Situación 1 : Orm sin Anotaciones

Situación 2 : Orm Con Anotaciones

Demos

jbugarin@consultorjava.com

ENTENDIENDO SPRING ORMPara aquellos que prefieren usar un mapeo

objeto-relacional (ORM) algo similar a JDBC, Spring proporciona el módulo de ORM.

Spring ORM se apoya en DAOs . De esta manera proporciona una manera cómoda para Generar DAOs en soluciones ORM.

Spring no trata de aplicar su propia solución ORM, pero proporcionalas configuraciones necesarias para los ORM populares, como Hibérnate, Java Persistence API e iBATIS SQL Maps.

jbugarin@consultorjava.com

ENTENDIENDO HIBERNATEHibernate soporta características de la orientación

a Objetos tales como asociaciones, herencia, polimorfismo, composición, colecciones, etc.

Los módulos de Hibernate pueden ser almacenados y combinados como se desee. Es posible utilizar Hibernate como proveedor de persistencia en cualquier entorno Java y esta completamente certificado por Sun (Ahora Oracle).

El objetivo de Hibernate es liberar al desarrollador del 95% de las tareas de programación comunes relacionadas con la persistencia de datos en comparación con una codificación manual con SQL y el API JDBC.

jbugarin@consultorjava.com

ENTENDIENDO HIBERNATE

jbugarin@consultorjava.com

LIBRERIAS A UTILIZARLibrerías Propias de

Spring.Librerías Propias de

Hibernate.Librerías de

Terceros.Driver de Conexión

a la Base de Datos Mysql.

jbugarin@consultorjava.com

SPRING ORM SIN ANOTACIONESBase de Datos:

Mysql Server 5.0Esquema: lamercedTabla: habitacion

jbugarin@consultorjava.com

ESTRUCTURA DE LA TABLA

La llave es auto_incrementAtributos enteros y decimales

jbugarin@consultorjava.com

Ejecución para la situación 1

jbugarin@consultorjava.com

Configuración en el application-context-hibernate.xmlEn el application-

context-hibernate.xml

dataSourcesessionFactorymappingResourceshibernatePropertiestransactionManagerhabitacionImplhabitacionService

jbugarin@consultorjava.com

Implementación de los DAOsDeben de Extender de

HIBERNATEDAOSUPPORT que esta presente en los jars de spring-orm.jar

Para hacer operaciones CRUD invocamos a HibernateTemplate

jbugarin@consultorjava.com

Implementación de los DaosTambién le podemos insertar HQL:

jbugarin@consultorjava.com

jbugarin@consultorjava.com

Tabla a UtilizarTable: Users

jbugarin@consultorjava.com

jbugarin@consultorjava.com

En el context.xmlContext.xml dataSource

sessionFactorymappingResourceshibernatePropertiesAnnotation

txManagertxManagerusuarioDAOusuarioService

jbugarin@consultorjava.com

Implementación de los DAOs con AnotacionesDeben de extender de HibernateDaoSupport

que esta dentro del spring-orm.jar

Los métodos deben de ir con la anotación @Transactional

jbugarin@consultorjava.com

Implementación de los DAOsCuando se haga una operación CRUD, en la

anotación se debe de indicar el tipo de propagación.

jbugarin@consultorjava.com

Ejecución situación 2

jbugarin@consultorjava.com

DemosDesktop

Web

jbugarin@consultorjava.com

Preguntas

?jbugarin@consultorjava.com

CONTACTOhttp://consultorjava.com –

http://iluminatic.comEmail: jbugarin@consultorjava.comTwitter: @jlbugarin - @iluminatic

jbugarin@consultorjava.com

Muchas Gracias.

jbugarin@consultorjava.com