面向对象的数据库开
发框架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的配置文件
分享到:
相关推荐
#### 第1章 NHibernate体系结构概述 **总览** NHibernate是一款开放源代码的对象关系映射(ORM)框架,它为.NET平台上的应用程序提供了强大的持久化服务。NHibernate的核心在于将面向对象模型与关系型数据库之间的...
### NHibernate体系结构 NHibernate的体系结构主要由以下几个关键组件组成: 1. **SessionFactory**:`NHibernate.ISessionFactory`是整个框架的核心,它是一个线程安全的、不可变的缓存,包含了对特定数据库的预...
中文参考文档提供了对 NHibernate 体系结构和用法的详细解释。 在 NHibernate 中,体系结构的核心组件包括 `SessionFactory`、`Session`、`Persistent Objects`、`Transactions` 和 `ConnectionProvider`。`...
NHibernate 的体系结构设计灵活,可以适应不同的应用场景。它可以分为轻型和全面解决方案两种模式。在轻型模式下,开发者需要自行处理 ADO.NET 连接和事务管理,而全面解决方案则由 NHibernate 完全管理底层数据库...
Nhibernate 的体系结构是高度灵活的,可以根据应用需求提供不同级别的抽象。其核心组件包括: - **SessionFactory**: 这是一个线程安全的、不可变的对象,存储了针对特定数据库的编译后的映射信息。SessionFactory...
#### NHibernate体系结构 NHibernate的体系结构包括: - **Configuration类和ISessionFactory接口**:Configuration用于加载配置信息,ISessionFactory用于创建Session实例。 - **ISession接口**:提供了与数据库...
在本文档中,我们将深入理解NHibernate的体系结构、核心组件以及配置选项。 首先,NHibernate的体系结构包括几个关键组件,如SessionFactory、Session、持久化对象、临时对象、事务和连接管理。SessionFactory是...
9. **多态性支持**:在继承体系中,NHibernate可以正确处理不同类型的对象,实现多态查询和存储。 10. **支持多种数据库**:NHibernate 可以工作在各种数据库之上,包括MySQL、PostgreSQL、SQL Server、Oracle等,...
体系结构来理解NHibernate可以使用的环境。 把这份参考文档作为你学习的主要信息来源。 考虑读一下 Hibernate in Action (http://www.manning.com/bauer/) 或者是NHibernate in Action ...
10. **多态性支持**:在继承体系中,NHibernate可以正确处理多态性,使得不同类型的对象可以共享相同的数据库表。 11. **事务管理**:NHibernate支持编程式和声明式事务管理,确保数据一致性。 12. **分页查询**:...
本文将基于NH1.0.2版本,深入探讨NHibernate的体系结构、API使用、示例代码以及配置文件的关键知识点。 #### 体系结构概述 NHibernate位于数据库和应用程序之间,充当持久化层的角色。其核心设计理念是将应用程序...
二、NHibernate环境与结构体系 NHibernate的使用需要一个稳定的.NET环境,通常配合ADO.NET进行工作。它的结构体系包含以下几个核心组件: 1. Session:NHibernate的主要工作接口,负责对象的加载、保存、更新和删除...
### NHibernate 2.1.2 帮助手册知识点详解 #### 一、快速入门:IIS与Microsoft SQL Server 在本章节中,我们将会介绍如何使用NHibernate 2.1.2来构建一个简单的应用程序,该程序将运行在IIS上并使用Microsoft SQL ...
体系结构(Architecture) 2.1. 概况(Overview) 2.2. 实例状态 2.3. 上下文相关的(Contextual)Session 3. 配置 3.1. 可编程的配置方式 3.2. 获得ISessionFactory 3.3. 用户自行提供ADO.NET...
2. 体系结构(Architecture) 2.1. 概况(Overview) 2.2. 实例状态 2.3. 上下文相关的(Contextual)Session 3. 配置 3.1. 可编程的配置方式 3.2. 获得ISessionFactory 3.3. 用户自行提供ADO.NET连接 3.4. ...
6. 异常处理:理解Hibernate特有的异常体系,如ConstraintViolationException和ObjectNotFoundException。 二、NHibernate:.NET平台的ORM利器 1. 概述:NHibernate是Hibernate在.NET平台上的移植版本,同样提供了...