NHibernate入门指南:体系结构与核心组件详解

需积分: 9 1 下载量 22 浏览量 更新于2024-07-22 收藏 391KB DOC 举报
NHibernate中文入门文档深入讲解了这一强大ORM(对象关系映射)框架的基本概念和工作原理。本文档旨在帮助初学者理解NHibernate的核心组件和架构,以便在实际项目中高效地应用。 第1章,NHibernate体系结构总览,首先介绍了NHibernate如何作为一个桥梁,将应用程序与底层数据库连接起来,提供持久化服务。体系结构图展示了两个主要的运行模式:轻型模式和全面解决方案模式。 1. 轻型模式:在这种模式下,应用程序直接使用ADO.NET API进行数据库交互,同时负责管理事务。NHibernate仅提供基本的API支持,用户需要手动创建SessionFactory(一个线程安全的、不可变的映射文件编译结果的缓存),并控制Session的创建和事务处理。 2. 全面解决方案模式:应用程序与底层的数据库交互被完全抽象,NHibernate接管了所有的底层操作,如连接管理、事务管理和数据缓存。这种情况下,SessionFactory负责创建Session,而Session是一个短生命周期的对象,它封装了数据库连接,持有第一级和第二级(可选的)缓存,以优化性能和事务一致性。 - SessionFactory:核心组件之一,为整个应用提供线程安全的Session创建,还可能包含第二级缓存,用于存储跨事务的数据。 - Session:一次会话的实例,与数据库交互的接口,包含事务管理功能和第一级缓存,用于存储当前会话中的持久化对象。 - 持久化对象(Persistent Object)和集合(Collections):这些对象代表持久化的实体,与业务逻辑紧密结合,但只在Session的生命周期内存在,Session关闭后,它们将不再关联。 - 临时对象(Transient Object)和集合:未关联到Session的新建对象,可能是新创建的或来自已关闭Session的对象,通常用于数据传输或暂存。 - 事务(Transaction):虽然在轻型模式下由用户管理,但在全面解决方案模式中,NHibernate也支持自动事务处理。 理解这些基本概念对于掌握NHibernate的使用至关重要,无论是选择哪种运行模式,开发者都需要了解如何通过SessionFactory创建Session,以及如何有效地管理和维护持久化对象的状态。随着对体系结构的理解加深,开发者可以更灵活地调整和优化其应用的持久化策略。