NHibernate

Hola el presente artículo tiene como finalidad mostrar un explicación básica de ORM, Hibernate y por ultimo NHibernate.

ORM (Object-Relational Mapping)

Un ORM es una técnica-software para convertir datos orientados a objetos a una base de datos relacional, usando un motor de persistencia. Se crea una base de datos orientada a objetos virtual sobre una base de datos relacional.  Por lo tanto su principal ventaja es “olvidarse” de la tediosa labor e crear todas las sentencias SQL para obtener, actualizar, insertar o borrar datos (CRUD como veremos adelante) en la base, así como soporte para la persistencia.

Hibernate

Ees una herramienta ORM (Object-Relational Mapping) ó Mapeo Objeto Relacional para la plataforma JAVA. Herramienta que facilita el mapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de una aplicación mediante archivos declarativos XML o anotaciones en los beans (componente que se puede reutilizar y que puede ser manipulado visualmente por una herramienta de programación en lenguaje Java) de las entidades que permiten establecer estas relaciones.

NHibernate

Es la alternativa de software libre disponible para .NET en C#, distribuido bajo los térmimos LGPL. Es una de las primeras aproximaciones para el mundo .NET de proyectos ORM, a la cual se ha unido Microsoft con LinqToSQL y Entity Framework.

Vamos a tratar NHibernate. Al emplearle para el acceso a datos, el desarrollador garantiza que su aplicación es independiente en cuanto al motor de datos empleado en producción.  Soporta los SGBDR más empleados en el mercado como puede ser MYSQL, Postgre, Oracle, MSSQL, etc. Sólo es necesario cambiar una línea en el fichero de configuración para que podamos emplear una base de datos distinta.

NHiberbate facilita el mapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de una aplicación, mediante archivos declarativos (XML) que permiten establecer estas relaciones. Intenta solucionar el problema de la diferencia entre los 2 modelos usados hoy en día para organizar y manipular datos: El usado en la memoria del ordenador (orientación a objetos) y el usado en los sistemas gestores bases de datos (modelo relacional).

Para lograrlo permite al desarrollador especificar cómo es su modelo de datos, qué relaciones existen y qué forma tienen. Con esta información NHibernate le permite a la aplicación manipular los datos de la base operando sobre objetos, con todas las características de la POO.

Hibernate convertirá los datos entre los tipos utilizados por c# y los definidos por SQL. Hibernate genera las sentencias SQL y libera al desarrollador del manejo manual de los datos que resultan de la ejecución de dichas sentencias, manteniendo la portabilidad entre todas las bases de datos con un ligero incremento en el tiempo de ejecución.

NHibernate está diseñado para ser flexible en cuanto al esquema de tablas utilizado, para poder adaptarse a su uso sobre una base de datos ya existente. También tiene la funcionalidad de crear la base de datos a partir de la información disponible.

Posee también un lenguaje de consulta de datos llamado HQL (Hibernate Query Language), al mismo tiempo que una API para construir las consultas de forma programada (conocida como “criteria“).

 

Estándar

Deja un comentario