使用規則
為持久化字段聲明訪問器(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中的手動式數據處理方法上。