《NHibernate in Action》读书笔记【一】

1) The core interface

   1.ISession interface :It exposes NHibernate's methods for finding,saving ,updating,and deleting objects. NHibernate sessions are not thread safe and should by design be used by only one thread at a time.

   2.ISessionFactory interface: The application obtains Isession instance from an IsessionFactory.

   3.Configuration  interface:  The Configuration object is used to configure NHibernate. the application used a Configuration instance to specfiy the location of mapping documents and to set NHibernate-specific properties before creating the ISessionFactory. It is the first object you'll meet when you being using NHibernate.

   4.Itransaction  interface :

   5.IQuery  interface: It is the basic interface used for fetching data using NHibernate. An IQuery instance is lightweight and can't be used outside the ISession that created it.

   6. ICriteria  interface:

 


 

  2) Types 

    An NHibernate Type object maps a .NET type to a database column type(the type may span multiple columns).

    NHibernate included a rich range of built-in types, covering all .NET primitives and many CLR classes, including types for System.DataTime,System.Enum,byte[] and Serializable classes.

    NHibernate supports user-defined custom types . The interface IUsertype ,ICompositeUserType and IParameterizedType are provided to let you create your own types .You can also use IUSerCollectionType to create your own collection types.

第一章描述了一个场景,解释什么是持久层以及如何使它适用于商业应用。我们简单的介绍了一下NHibernate,同时与其它流行的框架如Linq to SQL和Datasets做比较。通过这一章你可以了解到ORM遇到的主要问题已经NHibernate如何去解决这些问题。 第二章给出了一些代码,简单的介绍如何安装NHibernate已经如何建立一个简单的应用。紧接着我们将开始探索NHibernate的主要功能,包括查询,事务处理,用户定制的接口。我们同时展示了基本设置和高级设置,让你可以通过日志更深入的了解NHibernate背后是如何工作的。 第三章以一定的速度告诉你NHibernate的大部分功能。我们提出了一个更复杂的问题--CavertEmptor应用程序--并引导你通过模型化你的业务模型,通过映射表示类型之前的关联关系。你将会了解NHibernate如何使用xml和.net属性来实现映射。我们同时也解释了一些灵活的功能,例如使用灵活的属性映射和自动内容约定。本章解释了ORM标识的重要性,通过解释映射的继承和关联关系来建立预备知识。 第四章深入的介绍一些重要的概念:实体的生命周期,持久化状态,等同性。让我们了解这些知识是如何通过NHibernate 的API进行权衡。了解一下整个对象图如何工作,讨论级联持久化,批量操作,懒惰查询和贪婪查询。 第五章深入研究NHibernate如何严格控制数据库的各种事务。我们在本章中讨论一个业务模型及实例来展示如何自动进行版本控制和锁控制(locking)。缓存是NHibernate的核心,你也会在本章中了解一级缓存和二级缓存大量内容。 第六章介绍了NHibernate的类型系统以及如何引入自定义类型。接着还介绍了组件、值类型和一些高级关联关系,并提供了这些内容的最佳实践方式。 第七章主要介绍如何通过NHibernate进行高效查询。我们测试了HQL和ICriteria API两种查询,并提供了相应实例代码。你将可以看到关于参数绑定,指定查询,多级查询和连接查询。我们同时也研究如何进行有效查询,如何过滤集合,使用原始的SQL而不是HQL,最后,本章还解释如何解决传统的性能问题,讨论n+1个查询问题和缓冲问题。 第八章提供了NHibernate的一些设计模式和实践方法。我们通过示例代码介绍如何实现一些诸如分层系统,单元测试这样的常用应用。同时也包括一些如何找bug的小技巧。同时我们还提供了添加像审核日志这样的自定义服务到NHibernate应用中的例子。 第九章开始讨论开发的流程以及一些有用的工具,通过一个NHibernate应用解释几种着手点。我们同时也研究一些领域模型及数据库关联的代码生成和自动维护模式。紧接着我们还研究了如何通过NHibernate解决传统的数据库的集合键和触发器。 第十章提供了更多现实的应用。我们通过一个简单应用,将它转换成为一个具有持久层和灵活域模型的应用。本章还介绍了一个通用Helper类:DAO模式。最后,我们还介绍了web应用程序session的管理,展示如何进行长期的商业项目和如何实施分布式应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

春哥撩编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值