NHibernate体系

 

面向对象的数据库开 发框架NHibernate

 

近年来,越来越多的人认识到使用面向对象的企业应用开发框架来进行系统的开发有着诸多的好处。在项目设计阶 段,使用UML建模语言设计业务域对象模型,从模型出发,定义业务域对象,运行时对业务域对象的属性进行操作,直接将业务域对象保存到数据库,或者从数据 库加载,消除对面向数据集的Sql的依赖,这就是通常所说的OR Mapping,对象-关系映射方法。

在Java平台上,OR Mapping的开源框架的No.1就是Hibernate,Hibernate是一个轻量级的OR Mapping解决方案,一经推出就取得了巨大的成功,在刚刚发布的EJB3.0的草案中就吸收了大量的Hibernate中的特性。从2004年三月开 始,SourceForge上发布了.Net版本的NHibernate的Alpha版本,目前NHibernate的开发进展非常顺利,平均每一个半月 就会发布一个新的版本。

NHibernate具有以下特性:

对象持续性:能够管理.Net类到数据库表的映射,以对象的方式存取数据,支持复杂对象、复合对象,支持对象之 间的关联,比如继承,聚合,关联。OR Mapping的定义都是基于XML,具有很好的扩展性和通用性。可以支持现有的数据库定义,很好地保护用户投资。

支持对象查询:提供了面向对象的查询语言(HQL和条件查询),可以根据条件查询复合对象以及对象集合。

支持事务:创建还必须支持悲观锁的事务,并提供了乐观锁的并发支持。

性能优化:允许用户使用定制的Sql来提高查询的性能,提供了多种SQL自动策略开关,使得框架生成的Sql语 句具有非常优化的性能。提供了灵活的Cache缓冲机制,以及延迟加载,批量更新的策略,保证一般应用的性能不会低于相应的数据集应用。

数据库平台无关性:使用OR Mapping技术实现了数据库平台无关性,可以随时切换开发及数据库发布平台,方便移植。


 

NHibernate的体系结构示意图:

 

 

图中的Session对应于应用程序同持久层的一次对话,其中保存有必需的持久化对象的缓存,可以通过标识符查找持久对象。持久层同底层数据库之间的操作 是通过ADO.Net来实现的。

 

包的介绍:

NHibernate.dll是核心的程序集

Log4net.dll是日志记录程序集

Iesi.Collections.dll是集合框架的程序集

Castle.DynameicProxy.dll控制反转的程序集 


编码步骤:

第一步:Web.Config/App.Config

第二步: 实体类

第三步:创建使用NHibernate的配置文件

你可能感兴趣的:(数据结构,sql,Hibernate,框架,企业应用)