SPRING ORM CON HIBERNATE
Ing. José Luis Bugarin
CEO ILUMINATIC SAC
Certified Scrum Master
jbugarin@consultorjava.com
AGENDA
Introducció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 ORM
Para 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
proporciona
las configuraciones necesarias para los ORM populares,
como Hibérnate, Java Persistence API e iBATIS SQL Maps.
jbugarin@consultorjava.com
ENTENDIENDO HIBERNATE
Hibernate 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 UTILIZAR
Librerí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 ANOTACIONES
Base de Datos: Mysql
Server 5.0
Esquema: lamerced
Tabla: habitacion
jbugarin@consultorjava.com
ESTRUCTURA DE LA TABLA
La llave es auto_increment
Atributos enteros y decimales
jbugarin@consultorjava.com
Ejecución para la situación 1
jbugarin@consultorjava.com
Configuración en el application-
context-hibernate.xml
En el application-
context-hibernate.xml
dataSource
sessionFactory
mappingResources
hibernateProperties
transactionManager
habitacionImpl
habitacionService
jbugarin@consultorjava.com
Implementación de los DAOs
Deben 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 Daos
También le podemos insertar HQL:
jbugarin@consultorjava.com
jbugarin@consultorjava.com
Tabla a Utilizar
Table: Users
jbugarin@consultorjava.com
jbugarin@consultorjava.com
En el context.xml
Context.xml dataSource
sessionFactory
mappingResources
hibernateProperties
Annotation txManager
txManager
usuarioDAO
usuarioService
jbugarin@consultorjava.com
Implementación de los DAOs
con Anotaciones
Deben 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 DAOs
Cuando 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
Demos
Desktop
Web
jbugarin@consultorjava.com
Preguntas
?jbugarin@consultorjava.com
CONTACTO
http://consultorjava.com – http://iluminatic.com
Email: jbugarin@consultorjava.com
Twitter: @jlbugarin - @iluminatic
jbugarin@consultorjava.com
Muchas
Gracias.
jbugarin@consultorjava.com

Spring orm