Introduccion a NH

Páginas: 21 (5206 palabras) Publicado: 25 de febrero de 2015






Introducción a NHibernate
Francisco Daines O.
20/01/2007

1.- Que es NHibernate y para qué sirve. 3
2.- Instalación de NHibernate. 6
3.- Configuración de NHibernate. 7
4.- Ejemplos sencillos de mapeo OR. 9
4.1 Mapeo de clases sencillo. 11
4.2 Mapeo con herencia. 12
4.3 Mapeo de composiciones. 16
4.4 Mapeo de relaciones uno a muchos. 20
4.5 Mapeo de relaciones muchos amuchos. 24
5.- Manipulación de datos persistentes. 26
5.1 Recuperando un objeto de la base de datos. 26
5.2 Realizando consultas simples. 27

1.- Que es NHibernate y para qué sirve.

El desarrollo de aplicaciones utilizando el paradigma OO es cada vez más adoptado por empresas de desarrollo de software, ya que provee una gran cantidad de ventajas que otros paradigmas de desarrollo no permitende forma sencilla. De manera análoga, nanie puede negar el dominio absoluto del modelo relacional en el mundo de las bases de datos.
El problema angular es que al utilizar OO con BDR se pierde gran parte de la abstracción que provee la POO. Claramente el impacto puede variar dependiendo de la estrategia que se utilice para comunicar nuestras clases con las tablas de un modelo relacional. En elpeor de los casos, cada clase del sistema se comunicará con la BDR, creando una dependencia directa entre el modelo OO y el modelo relacional. Esto significa que si realizo un simple cambio, como cambiar el nombre a una tabla, esto afecta directamente el código escrito en una gran cantidad de líneas de, quizás, una gran cantidad de clases. Por lo que la pérdida de tiempo es notable.
Existenalternativas al modelo relacional, son las emergentes Bases de Datos Orientadas a Objetos, las cuales trabajan directamente con objetos y en muchos casos proveen accesos para una gran cantidad de lenguajes de programación tales como C++, Java y la plataforma MS.NET. Además de ser escasas, la mayoría de estas bases de datos están en versiones de testing, por lo que implementar estas bases de datossignifica un riesgo que muchas empresas no están dispuestas a correr.
Hasta hace un tiempo la tarea de comunicar OO con BDR era difícil, luego, con la creación del modelo DAO (Data Access Object) se simplificó el asunto, definiendo que serían sólo algunos objetos los que se comunicarían con la BDR, disminuyendo notoriamente el impacto de realizar cambios en la Base de Datos. Pero todavía no eraposible obtener independencia entre el código de las clases y el acceso a la base de datos.
Hace un par de años se liberó la primera versión de un Framework de persistencia llamado NHibernate, una implementación para el Microsoft .Net FrameWork de Hibernate (implementado originalmente sólo para Java). Bueno pero ¿Qué es precisamente NHibernate? y ¿Para qué utilizar NHibernate? son algunas de laspreguntas que trataré de responder a continuación.
NHibernate es un Framework de persistencia, es decir provee herramientas que facilitan la tarea de persistir objetos (i.e. almacenar el estado de un objeto con el fin de recuperarlo en el futuro). La motivación principal de NHibernate es abstraer por completo al desarrollador de la base de datos asociada al proyecto en desarrollo, es decir, eldesarrollador debe pensar que sólo trabaja con objetos, los cuales puede guardar en una base de datos utilizando métodos de los mismos objetos, pero nunca escribir ni analizar una sentencia SQL en su código.
La arquitectura de NHibernate se puede representar de una manera simple como el siguiente diagrama:


Podemos notar que la aplicación trabajará con objetos persistentes, pero sincomunicarse directamente con la base de datos. En su lugar, la comunicación será con el framework Nhibernate, el cual se compone de una sección de configuración (puede ser archivo App.config o Web.config según nuestro proyecto sea Windows Forms o Web) y un conjunto de mapeos Objeto-Relacionales. Utilizando estos elementos, Nhibernate se comunicará con la base de datos y realizará las acciones requeridas...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Nh hoteles
  • Nh Hotel
  • Nh Hoteles
  • Nh hoteles
  • publicidad NH
  • hoteles nh
  • Hotel nh
  • NH VRIO

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS