现在的位置: 首页 > 综合 > 正文

NHibernate学习笔记(一)

2013年08月18日 ⁄ 综合 ⁄ 共 1299字 ⁄ 字号 评论关闭

 

Nhibernate学习笔记

 

 

一-   Nhibernate是什么

    O/R MAP 是指对象/关系映射,就是将类编程语言同数据持久层的关系框架化的技术。使用O/R MAP后,开发的重点就可以放在业务逻辑上了,这样可提高开发效率。

    Hibernate是java开源项目,处理O/R MAP的。

    Nhibernate是.net中得开源项目,目的也是提供O/R map解决方案. NHibernate 是一个基于.Net 的针对关系型数据库的对象持久化类库。Nhibernate 来源于非常优秀的基于Java的Hibernate 关系型持久化工具。

NHibernate 从数据库底层来持久化你的.Net 对象到关系型数据库。NHibernate 为你处理这些,远胜于你不得不写SQL去从数据库存取对象。你的代码仅仅和对象关联,NHibernat 自动产生SQL语句,并确保对象提交到正确的表和字段中去。

 

    我们知道,程序实际上数据处理的过程,我们需要输入数据、处理数据,然后输出数据。当前处理的数据可能下一次再使用。受限于内存等的限制,很多情况下数据处理必须要要将数据进行持久化。

    数据持久化通常是将数据写入一个文件,需要时按照写入的结构读取来。在此基础上,出现了数据库,也就是将数据法存取独立出来的技术。这数据存取技术实际上解决了编程中的差不多1半问题(个人理解),所以这样的技术掌握在软件技术巨头手中(IBM MS ORCAL都是数据库巨头,也是软件巨头)。

然而数据库技术在类编程(面向对象)年代遇到了问题。我们可以在设计时将软件问题分析得到相应的类,但是这些类在保存自身状态去不得不按照不那么面向对象得sql语句方式来操纵数据访问,从软件美学角度上将(开玩笑了,实际上是从软件的综合质量上)考虑,将会导致不那么面向对象的代码充斥我们的编码中。为了解决这些问题,java的开源社区有人提出了Hibernat项目,解决Object 同 relation之间的映射问题。.net推出后有好事者移植到.net环境,所以称作Nhibernat。

 

    从目前的各个学习者的post来看,基本上Nhibernat还没有达到实用化的水平,经常有些项目在较大负荷或者设计有些毛病的时候崩溃,但这个逐步会改进,我想只要了解了Nhibernat的设计思路,你会相信很快就会出来其正是版本。目前的最新版本是1.1

 

Nhibernat http://nhibernate.sourceforge.net/ 的官方站点,目前的版本是beta 0.7.0.0 。如果你下在后展开会有一个vs2003的工程文件,包含Nhibernat的源代码,以及一个测试工程。

为了了解Nhibernat,可以先读一些quikstart ,给出部分中文文档:

http://www.moon-soft.com/doc/44941.htm

http://www.cnblogs.com/ccboy/archive/2004/07/25/27158.aspx

 

我想应当好好分析Nhibernat的内部实现和如何应用,应该要花些时间,我会根据自己的理解来写出阅读源码的感受吧。

 

抱歉!评论已关闭.