使用规则
为持久化字段声明访问器(getters和setters)。Cat为它的所有可持久化字段声明了getters和setters访问器。用访问器来替代直接访问字段是个好习惯。也可以通过字段(field)来使用NHibernate。属性不一定需要声明为public的。NHibernate可以对default、protected、internal或private的属性执行持久化.
实现一个默认的构造方法(constructor):Cat有一个显式的无参数默认构造方法。所有的持久化类都必须具有一个默认的构造方法(可以不是public的),这样NHibernate就可以使用Constructor.Invoke()来实例化它们.
提供一个标识属性(identifier property)(可选).
建议使用不是sealed的类(可选)。
优势
对象和关系数据库之间的映射是用一个XML文档(XML document)来定义的。这个映射文档被设计为易读的,并且可以手工修改。映射语言是以.NET为中心的,意味着映射是按照持久化类的定义来创建的,而非表的定义。在Hibernate中XML映射文档可以手动定义,也有一些工具来辅助生成,包括Xdoclet、Middlegen和AndroMDA,但是在NHibernate文档中并没有上述的辅助工具,不过可以采用MyGeneration这样的代码生成工具来生成XML配置文档。虽然NHibernate目前不是非常的成熟,还没有达到实用化的水平,它经常在负荷有些大的时候崩溃,但是它脱胎于在Java社区有着巨大影响力的Hibernate,而且NHibernate在实际应用方面确实体现出了它的优势,基于上述原因NHibernate一定会被越来越多的开发人员所接受,而且一定会被标准化。
NHibernate功能
友善的VisualStudio:轻轻松松映射在VisualStudio中制定的基本C#或VB.NET领域模型。不用特殊的父类或属性。彻底支持承继,部件和枚举类型。迅速的开发进度:从您的域实体模型形成数据库表。支持全部时兴的关系型数据库。支持最复杂的旧计划方案。
很多的组件和专用工具:全文检索。应用MicrosoftVelocity和Memcached开展集群范畴的缓存文件。业务流程认证标准。ReSharper外挂。古城堡活动内容。S#arp系统架构。还有很多。
完善的小区:NHibernate是一个受欢迎的,持续增长的ORM,有着阅历丰富的开发者小区。用以数千个商业服务和开源软件。
NHibernate不但承担从.NET类到数据库表(及其从.NET数据类型到SQL数据类型)的映射,还给予数据统计和搜索作用。这样可以大大减少开发设计时长,而这种开发设计时长要花在SQL和ADO.NET中的手动式数据处理方法上。