Motor de Persistencia - Mapeos
El mapeo Objeto - Relacional es un acercamiento entre el Modelo de Objetos y el Modelo Relacional, para poder persistir los objetos de la aplicación. El Mapeo de Objetos - Ralacional se define en una capa de Persistencia, la cual puede ser: Diseñada e implementada o el Uso de un Motor de Persistencia (ORM)
DISEÑAR E IMPLEMENTAR
Aplicación ORM Base de Datos Registros Instancias Mapear un Modelo basado en Objetos s un Esquema Relacional Mantener sincronizado el modelo de Objeto y el esquema de la base de Datos Almacenar y leer un objeto de la base de datos Mantener las Relaciones Consultar Datos Rendimiento
Es una herramienta ORM open Source, con buena documentación y estabilidad Funciona sobre cualquiera de los principales gestores de base de datos (DB2, MySql,Oracle,PostgreSQL,Informix,etc.) Utiliza el mecanismo de Reflexión proporcionado por java, lo que le permite tener información sobre los atributo,los métodos y constructores de una clase. Se apoya en multiples APIs existentes: JDBC - Conexión a Base de Datos JTA - Gestión de soporte de Transacciones JNDI Otros...
1.- Bajar el Hibernate desde la pagina desde esta misma página se puede bajar otras herramientas que pueden ser utilizada en el eclipse 3.1 y además es necesario el java 1.4 o superior. 2.- Instalar el Hibernate en una Carpeta 3.- Configurar los path a los.jar necesarios,los mismos son: cglib jar commons-collections2.1.1.jar commons-logging jar dom4j jar ehcache-1.1.jar hibernate3.jar jdbc2_0-stdext.jar jta.jar log4j jar
Aplicación Hibernate Base de Datos Registros Instancias Hibernate - FrameWork Simplificadohibernate.cfg.xml Clase.hbm.xml
Hibernate - Archivo de Configuración hibernate.cfg.xml Tags: hibernate.dialect: hibernate.connection.driver_class: hibernate.connection.url: hibernate.connection.username: hibernate.connection.password: hibernate.connection.pool_size:
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" " org.postgresql.Driver laredo jdbc:postgresql://localhost:5432/registro postgres registro org.hibernate.dialect.PostgreSQLDialect org.hibernate.hql.classic.ClassicQueryTranslatorFactory true update Hibernate - hibernate.cfg.xml
Hibernate - Mapeo Clase Simple
Hibernate - Archivo de Mapeo <!DOCTYPE hibernate-mapping PUBLIC "-//hibernate/hibernate Mapping DTD 3.0//EN" " //assigned banco.hbm.xml
Hibernate - Asociación
Hibernate - Archivo de Mapeo <!DOCTYPE hibernate-mapping PUBLIC "-//hibernate/hibernate Mapping DTD 3.0//EN" " //assigned banco.hbm.xml
Hibernate - Archivo de Mapeo
<!DOCTYPE hibernate-mapping PUBLIC "-//hibernate/hibernate Mapping DTD 3.0//EN" " cuenta.hbm.xml
Hibernate - Archivo de Mapeo
Hibernate - Archivo de Mapeo - Herencia
public class Persistencia { private SessionFactory sessionFactory; private Session session; public Persistencia() { sessionFactory = new Configuration().configure().buildSessionFactory(); session = sessionFactory.openSession(); } public void insert(Object unObjeto) { Transaction tr = session.beginTransaction(); session.save(unObjeto); tr.commit(); } public void update(Object unObjeto){ session.saveOrUpdate(unObjeto); } Hibernate - Crear Session
public class Banco { public final static Persistencia persistencia; public Banco(String cuit, String direccion, String nombre) { this(); this.cuit = cuit; this.direccion = direccion; this.nombre = nombre; this.clientes = new HashMap(); this.cuentas = new HashMap(); } public Banco() { this.persistencia = new Persistencia(); } En el Constructor de Cliente public Cliente(String apellido, String dni, String nombre, String nro) { this(); this.apellido = apellido; this.dni= dni; this.nombre = nombre; this.nro = nro; Banco.persistencia.insert(this); } Hibernate - Crear Session