NHibernate

来源:互联网 发布:java socket 发送心跳 编辑:程序博客网 时间:2024/04/30 13:28

NHibernate是.NET对象持久化的一种技术。
在如今的企业级应用开发环境中,面向对象的开发方法已经成为主流。众所周知,对象只能存在于内存中,而内存不能永远保存数据。如果要永远保存对象的状态,需要进行
对象的持久化,即把对象存储到专门的数据库中。目前,关系数据库仍然是使用最广泛的数据存储库。关系数据库中存放的是关系数据,它是非面向对象的。
   对象和关系数据其实是业务实体的两种表现形式。业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,把对象持久化到关系数据库中,需要进行对象-关系的映射(Object/Relation Mapping,简称ORM),这是一项繁琐耗时的工作。

在实际应用中,除了需要把内存中的对象持久化到数据库外,还需要把数据库中的关系数据在重新加载到内存中,以满足用户查询业务的需求。频繁地访问数据库,会对应用的性能造成很大影响。
为了降低访问数据库的频率,可以把需要经常访问的业务数据放在缓存中,并且通过特定的机制来保证缓存中的数据与数据库中的数据同步。

NHibernate是什么?从不同角度有不同的解释:
它是连接.NET应用程序和关系数据库的中间件。
它对ADO.NET进行了封装,负责.NET对象的持久化。
在分层的软件架构中它位于持久层,封装了所有数据访问细节,使业务逻辑层可以专注于实现业务逻辑。
它是一种ORM映射工具,能够建立面向对象的与模型和关系模型之间的映射。

NHibernate最新版本下载地址:http://sourceforge.net/projects/nhibernate/files/



原创粉丝点击