Softlogia S.R.L. Formación de Recursos Humanos Hibernate Core Instructor: Martin R. Baspineiro.

Slides:



Advertisements
Presentaciones similares
Fundamentos de Base de Datos
Advertisements

JEE Introducción a Java Enterprise Edition (JEE) y el modelo Enterprise Java Beans (EJB)
Las aplicaciones requieren datos persistentes
Red Social: “Un millón de Amigos”.
Técnicas de Diseño Red Social.
Curso de java básico (scjp)
Red Social: “Un millón de Amigos”.
Introducción a HIBERNATE
DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME RMS Ing. Ronald Criollo.
Clases en C++.
Uso de variables de tipo referencia
Capa de Persistencia Daniel Fernández Lanvin.
Patrones de Diseño GEYFFER ALEXANDER ACOSTA CRISTHIAN DOUGLAS CASTRO
PATRON DAO Data Access Object (OBJETO DE ACCESO A DATOS)
Programación en Java Instructor:.
Spring Framework v2.5.
Teoría de los lenguajes Proyecto SIGU Equipo Nº3 Universidad Argentina J. F. Kennedy Sede: Don Bosco Integrantes: Irene Arias Fernández Mariana Pacheco.
Siguiente Excepciones Introducción. AnteriorSiguiente Definición Una excepción es un evento que ocurre durante la ejecución de un programa que desestabiliza.
RMI Remote Method Invocation
Java 2 Platform Enterprise Edition
Aplicación del paradigma orientado a objetos
Encapsulamiento y Abstracción
JAVA Persistence API (JPA)
Programación Orientada a Objetos en Java
Excepciones y archivos Info 033. Exception El término Exception es la palabra corta para la frase "evento excepcional." Definition: Una excepción es un.
Enterprise Java Beans Rubén Trujillo Sept-Dic 2008.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Lic. Rosemary Torrico Bascopé
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA OCHO THREADS.
1 Ingeniería del Software Ejercicios de Implementación  Caso de Uso Total Gasto (Junio 2003)  Caso de Uso Mejor Usuario (Septiembre 2003)  Caso de Uso.
Persistencia de Objetos. Definicion Persistencia : El la capacidad de un objecto to continuar existiendo despues que su creador (programa que crea este)
SCJP Sun Certified Programmer for Java 6
Desarrollo de Aplicaciones Utilizando Java Edición Empresarial – JEE6
Tema 11: Excepciones Antonio J. Sierra.
SPRING MVC.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
Enterprise Java Beans. EJBs Beans gestionados por un contenedor del servidor de aplicaciones para gestionar el acceso a recursos (bases de datos, colas.
Frameworks de Persistencia Java Prof. Ing. Esteban Ramírez
Daniel Fernández Lanvin Capa de Infraestructura. Daniel Fernández Lanvin Capa de Infraestructura Adyacente a todas las demás. Comprende todos aquellos.
MVC con Spring Temas Selectos de Cómputo Cibernética 912 Agosto-Diciembre 2005.
Detalles Generales sobre Java
© Softtek Internal. Introducción a Spring Sesión 1: Introducción y teoría Juan Irungaray
MANEJO DE EXCEPCIONES. 21/11/2005 E.T.S de Ingenieros de Telecomunicacion.2 Índice ¿Qué es una excepción? Tipos de situaciones. Manejo de excepciones.
Patrones de Diseño Para Persistencia y Transferencia
Persistencia de Objetos. Definicion Persistencia : El la capacidad de un objecto to continuar existiendo despues que su creador (programa que crea este)
Aclaraciones al modelo MVC del Framework de Justicia
Acceso a Datos Erick López Ovando Licenciado en Informática.
Desarrollo De aplicaciones Web 2. Utilizaremos las siguientes herramientas.
Clases “ Es una Abstracción de un elemento del mundo real ”
Base de Datos Auditoría – Orientación II Cr. Oscar Nielsen
INTRODUCCIÓN A LAS BASES DE DATOS Revisión de Conceptos.
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Temario Java 2 Enterprise Edition Arquitectura Especificación Servlets Contenedores Cookies Sesiones.
Prof. Manuel B. Sánchez. La parte ingenieril de un proceso de desarrollo de software, comprende realizar un diseño del sistema antes de empezar a escribir.
Motor de Persistencia - Mapeos. El mapeo Objeto - Relacional es un acercamiento entre el Modelo de Objetos y el Modelo Relacional, para poder persistir.
Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Práctica 4 Versión Diseño de tipos Igualdad, representación, código,
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Asociación.
Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento.
This y static. This Normalmente, dentro del cuerpo de un método de un objeto se puede referir directamente a las variables miembros del objeto. Sin embargo,
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
Softlogia S.R.L. Formación de Recursos Humanos Spring Instructor: Martin R. Baspineiro.
Crear Aplicación Cliente para Conectarse a una Base de Datos.
Programación I Clases. Paradigma POO La programación Orientada a objetos (POO) es una forma programar, más cercana a como expresaríamos las cosas en la.
Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Softlogia S.R.L. Formación de Recursos Humanos Hibernate Core Instructor: Martin R. Baspineiro.
BASES DE DATOS ¿QUÉ SON LAS BASES DE DATOS?. ANTECEDENTES  El término de bases de datos fue escuchado por primera vez en 1963, en un simposio celebrado.
ENTERPRISE JAVA BEANS. ACCESO AL EJB EJB_HOME. Accesible mediante JNDI. Permite crear y destruir EJB. EJB_OBJECT Expone los métodos del negocio del EJB.
Transcripción de la presentación:

Softlogia S.R.L. Formación de Recursos Humanos Hibernate Core Instructor: Martin R. Baspineiro

Hibernate Core – Clase 1 Hibernate Core  Porque debemos conocer Hibernate?  Conceptos necesarios  Persistencia Relacional con Hibernate  Las capas de Hibernate  La Arquitectura de Hibernate La arquitectura Mínima La arquitectura Completa Los Componentes de la arquitectura  Los estados de una instancia  Arquitectura de una aplicación que usa Hibernate  Practica

Hibernate Core – Clase 1 Porque debemos conocer hibernate?  Para conocer un framework que nos permita persistir nuestros objetos de dominio en una base de datos relacional.  Para conocer el funcionamiento de un framework de persistencia objeto-relacional.  Para desarrollar aplicaciones java profesionales.

Hibernate Core – Clase 1 Conceptos necesarios  POJO: Plain Old Java Object. Se usa este nombre para enfatizar que se trata de un objeto java simple, en particular que no se trata de Enterprise Java Bean  Java Bean: se usa este nombre para identificar a un objeto que tiene sus atributos definidos como private, que permite el acceso a sus atributos mediante accessors públicos, que tiene un constructor sin argumentos y que implementa la interfaz serializable.

Hibernate Core – Clase 1 Conceptos necesarios  Thread-safe: se dice que un pedazo de código es thread-safe, cuando es seguro de ejecutarse concurrentemente por múltiples hilos (threads)‏  Single-Threaded: se dice que un pedazo de código es single-threaded, cuando es ejecutado por un único hilo en cualquier momento.

Hibernate Core – Clase 1 Persistencia Relacional con Hibernate  Históricamente, Hibernate ha facilitado el almacenamiento y recuperación de objetos de dominio java mediante el mapeo objeto-relacional.  Actualmente, Hibernate es una colección de proyectos relacionados que permiten a los desarrolladores utilizar modelos de dominio del estilo POJO en sus aplicaciones.

Hibernate Core – Clase 1 Las capas de Hibernate

Hibernate Core – Clase 1 La arquitectura de Hibernate

Hibernate Core – Clase 1 La arquitectura de Hibernate  La arquitectura mínima

Hibernate Core – Clase 1 La arquitectura de Hibernate  La arquitectura completa

Hibernate Core – Clase 1 La arquitectura de Hibernate  Los componentes de la arquitectura. SessionFactory: es una cache, inmutable y thread-safe, que contiene los mapeos compilados de una base de datos. Es una factoría de objetos Session. Es un cliente de ConnectionProvider. Session: es un objeto single-threaded de vida corta que representa la conversación entre la aplicación y almacenamiento persistente. Envuelve una conexión JDBC. Es una factoría de objetos Transaction. Mantiene un cache de objetos persistentes.

Hibernate Core – Clase 1 La arquitectura de Hibernate  Los componentes de la arquitectura. Persistent objects and collections: son objetos single-thread de vida corta que tienen un estado persistente y funciones de negocio. Están asociados exactamente a una única Session. Una vez que la session es cerrada serán detachados y libres de usar por cualquier aplicación. Transient and detached objects and collections: son objetos de clases persistentes que no están asociados a una Session. Transaction: es un objeto single-thread de vida corta utilizado para especificar unidades de trabajo atómicas. Abstrae a la aplicación de la transacción subyacente (JDBC, JTA). Una Session puede ejecutar varias transacciones. La demarcación de una transacción no es opcional

Hibernate Core – Clase 1 La arquitectura de Hibernate  Los componentes de la arquitectura. ConnectionProvider: es una factoría y pool de conexiones JDBC. Abstrae a la aplicación de los Datasource o DriverManager subyacentes. TransactionFactory: es una factoría para instancias de Transaction. No esta expuesta a la aplicación, pero puede ser extendida o implementada por el desarrollador. Extension Interfaces: es un rango de interfaces de extensión opcionales que el desarrollador puede utilizar para customizar el comportamiento de la capa de persistencia.

Hibernate Core – Clase 1 Los estados posibles de una instancia  Se definen en base a su relación con el contexto de persistencia (el objeto Session de Hibernate). Transient: la instancia no esta asociada a ningún contexto de persistencia. No tiene un identificador de persistencia o PK. Persistent: la instancia esta asociada a un contexto de persistencia. Tiene un identificador de persistencia y puede corresponderse con un registro de la base de datos. Detached: la instancia estuvo asociada a un contexto de persistencia, pero el contexto de persistencia fue cerrado, o la instancia fue serializada por otro proceso. Tiene un identificador de persistencia y puede corresponderse con un registro de la base de datos.

Hibernate Core – Clase 1 Arquitectura de una aplicación que usa Hibernate

Hibernate Core – Clase 1 La clase de dominio  Es una clase java.  Es un java bean o POJO.  Requiere de un constructor sin argumentos.  Es conveniente que tenga un atributo para definir el id.  Puede tener definido comportamiento, sin embargo no es conveniente salvo excepciones.

Hibernate Core – Clase 1 El archivo de Mapeo  Esta definido en xml  Define la relación objeto relacional  Relaciona cada campo de la tabla con un atributo de la clase de dominio.  Define las relaciones del modelo relacional como asociaciones entre clases.  Por defecto ningún atributo de la clase de dominio es considerado persistente.

Hibernate Core – Clase 1 El archivo de configuración  Puede ser archivo properties o un xml (recomendado)‏  Define el componente SessionFactory.  Define la conexión JDBC.  Define el dialecto SQL.  Define los arhivos de mapeo que utilizara.

Hibernate Core – Clase 1 Startup y Helper  Para inicializar Hibernate es util crearse una clase HibernateUtil que nos permite obtener el contexto de persistencia (SessionFactory)‏ public class HibernateUtil { private static final SessionFactory sessionFactory = buildSessionFactory(); private static SessionFactory buildSessionFactory() { try { // Create the SessionFactory from hibernate.cfg.xml return new Configuration().configure().buildSessionFactory(); } catch (Throwable ex) { // Make sure you log the exception, as it might be swallowed System.err.println("Initial SessionFactory creation failed." + ex); throw new ExceptionInInitializerError(ex); } public static SessionFactory getSessionFactory() { return sessionFactory; }

Hibernate Core – Clase 1 Las Implementaciones de DAOs  Son implementaciones de las interfaces definidas para la realización de operaciones CRUD.  Una implementación de DAO con hibernate debería tener un método como el siguiente: private void createAndStoreEvent(String title, Date theDate) { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); Event theEvent = new Event(); theEvent.setTitle(title); theEvent.setDate(theDate); session.save(theEvent); session.getTransaction().commit(); }

Hibernate Core – Clase 1 Los Servicios  Son la implementación del patrón de diseño Facade  Implementan toda la lógica de negocios  Están compuestos por las interfaces DAOS, a través de las cuales realizan las operaciones CRUD con las clases de dominio.  Permiten la separación por capas de la capa de modelo.

Hibernate Core – Clase 1 Practica  Realizar el ejemplo definido en el tutorial de hibernate 3.5.1