NHibernate

“NHibernate is a .NET based object persistence library for relational databases. NHibernate is a port of the excellent Java Hibernate
relational persistence tool.”
NHibernate
es una poderosa e útil librería para .NET de persistencia de objetos para Bases de Datos Relacionales (DB2, Oracle, SQL Server, PostgresSQL, MySQL entre otros).Mi experiencia con NHibernate fue en un proyecto para la Catedra “Desarrollo de Aplicaciones Cliente Servidor” de 4to año de la Carrera de Ing. en Sistemas de la Universidad Tecnológica Nacional, Facultad Regional Resistencia. El Sistema consistía en una aplicacion Cliente/Servidor que contaba con un cliente .NET, y un servidor PostgresSQL 7.4 bajo un SuSE Linux 9.1.
Para realizar el trabajo y partiendo de 0% de conocimientos en Persistencia de Objetos nos valimos de herramientas que no ayudaron a trabajar con el NHibernate.
Para la generación de Entidades utilizamos el ObjectMapper
que es una Herramienta de Generación de Código que permite extraer el Esquema de la Base de Datos y luego generar las Entidades en C# y los hbm.xml para el NHibernate. Por desgracia no está la posibidad de extraer el esquema de la Postgres automaticamente y se debe realizar a mano, obviamente, el ObjectMapper te permite hacerlo, pero hay mayor probabilidad de errores -nos ha pasado-.
Otra tool muy útil ,para checkear las Entidades y los Resultados de las consultas en HQL, es el NQL -NHibernate Query Analizer -
Con ella podremos saber si nuestras entidades y las relaciones definidas en los hbm.xml estan bien.
El NHibernate se conecta a la Postgres con un .NET Data Provider, Npsql
.
Se pueden encontrar muchas información en NHibernate Documentation![]()
4 Responses to NHibernate
Leave a Reply Cancel reply
-
Categories
- .NET
- ActiveRecord
- agil
- Alt.Net
- AOP
- Asp.net MVC
- blog
- C#
- codegeneration
- cosas interesantes
- db4o
- db4o-analyzer
- DLR
- enterprise-library
- expresiones regulares
- General
- Hibernate
- IoC
- it
- Java
- LINQ
- Linux
- Lucene
- Mocking
- Mono
- monosms
- MVC
- NAnt
- NHibernate
- NHibernate.Burrow
- NHibernate.Contrib
- NHibernate.Validator
- noticias
- O/R Mapping
- Open Source
- patrones
- personal
- podcast
- programación
- Redes Neuronales
- Refactoring
- regex
- Scrum
- Security
- Shards
- Sin Categoría
- Spring
- SqlServer
- Testing
- tips
- Tool
- tutorial
- Ubuntu
- uNHAddIns
- video
- Virtualización
- Visual Basic.Net
- Visual Studio
- VMWare
- Web
-
Articles
- June 2011
- May 2011
- November 2009
- October 2009
- April 2009
- March 2009
- February 2009
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
- August 2006
- March 2006
- February 2006
- December 2005
- November 2005
- October 2005
-
Meta





¿Sabes de alguna dirección en donde bajar un ejemplo con PostgreSQL?
¿Y como activar el log del NHibernate?
Hola. La idea de NHibernate es abstraerte del motor subyacente, entonces cualquier ejemplo que consiguas de NH sirve para cualquier base de datos (todo tiene sus excepciones). Lo único que tendrías que ver es la forma de conectarte a NH. Acá tenes como conectarte a PostgreSQL.
Acá tenés fijate cómo activar el log en NHibernate
Muchas gracis por responder.
Ya tengo ejemplos pero el problema es que no consigo conectar con la base de datos en postgres. Me da una execpción en la instrucción:
return ( IDbConnection ) Activator.CreateInstance( connectionType );
de la clase ReflectionBasedDriver del NHibernate.
Un conpañero lo consiguió con el driver para ODBC. Por cierto, ¿qué me recomiendas? ¿usar ODBC o Npgsql directamente?
PD.: Ya conseguí instalar el log.
Mmm…siempre va a ser algo más rápido el Npgsql que el ODBC, aparte es más piola,es un assembly más.
Subí la solución a algún lado, así veo y te digo, o pasámela a uooopaa arroba gmail.com.
Te recomiendo este grupo de NHibernate en español.
Saludos!