使用規(guī)則
為持久化字段聲明訪問(wèn)器(getters和setters)。Cat為它的所有可持久化字段聲明了getters和setters訪問(wèn)器。用訪問(wèn)器來(lái)替代直接訪問(wèn)字段是個(gè)好習(xí)慣。也可以通過(guò)字段(field)來(lái)使用NHibernate。屬性不一定需要聲明為public的。NHibernate可以對(duì)default、protected、internal或private的屬性執(zhí)行持久化.
實(shí)現(xiàn)一個(gè)默認(rèn)的構(gòu)造方法(constructor):Cat有一個(gè)顯式的無(wú)參數(shù)默認(rèn)構(gòu)造方法。所有的持久化類(lèi)都必須具有一個(gè)默認(rèn)的構(gòu)造方法(可以不是public的),這樣NHibernate就可以使用Constructor.Invoke()來(lái)實(shí)例化它們.
提供一個(gè)標(biāo)識(shí)屬性(identifier property)(可選).
建議使用不是sealed的類(lèi)(可選)。
優(yōu)勢(shì)
對(duì)象和關(guān)系數(shù)據(jù)庫(kù)之間的映射是用一個(gè)XML文檔(XML document)來(lái)定義的。這個(gè)映射文檔被設(shè)計(jì)為易讀的,并且可以手工修改。映射語(yǔ)言是以.NET為中心的,意味著映射是按照持久化類(lèi)的定義來(lái)創(chuàng)建的,而非表的定義。在Hibernate中XML映射文檔可以手動(dòng)定義,也有一些工具來(lái)輔助生成,包括Xdoclet、Middlegen和AndroMDA,但是在NHibernate文檔中并沒(méi)有上述的輔助工具,不過(guò)可以采用MyGeneration這樣的代碼生成工具來(lái)生成XML配置文檔。雖然NHibernate目前不是非常的成熟,還沒(méi)有達(dá)到實(shí)用化的水平,它經(jīng)常在負(fù)荷有些大的時(shí)候崩潰,但是它脫胎于在Java社區(qū)有著巨大影響力的Hibernate,而且NHibernate在實(shí)際應(yīng)用方面確實(shí)體現(xiàn)出了它的優(yōu)勢(shì),基于上述原因NHibernate一定會(huì)被越來(lái)越多的開(kāi)發(fā)人員所接受,而且一定會(huì)被標(biāo)準(zhǔn)化。
NHibernate功能
友善的VisualStudio:輕輕松松映射在VisualStudio中制定的基本C?;騐B.NET領(lǐng)域模型。不用特殊的父類(lèi)或?qū)傩浴氐字С殖欣^,部件和枚舉類(lèi)型。迅速的開(kāi)發(fā)進(jìn)度:從您的域?qū)嶓w模型形成數(shù)據(jù)庫(kù)表。支持全部時(shí)興的關(guān)系型數(shù)據(jù)庫(kù)。支持最復(fù)雜的舊計(jì)劃方案。
很多的組件和專(zhuān)用工具:全文檢索。應(yīng)用MicrosoftVelocity和Memcached開(kāi)展集群范疇的緩存文件。業(yè)務(wù)流程認(rèn)證標(biāo)準(zhǔn)。ReSharper外掛。古城堡活動(dòng)內(nèi)容。S#arp系統(tǒng)架構(gòu)。還有很多。
完善的小區(qū):NHibernate是一個(gè)受歡迎的,持續(xù)增長(zhǎng)的ORM,有著閱歷豐富的開(kāi)發(fā)者小區(qū)。用以數(shù)千個(gè)商業(yè)服務(wù)和開(kāi)源軟件。
NHibernate不但承擔(dān)從.NET類(lèi)到數(shù)據(jù)庫(kù)表(及其從.NET數(shù)據(jù)類(lèi)型到SQL數(shù)據(jù)類(lèi)型)的映射,還給予數(shù)據(jù)統(tǒng)計(jì)和搜索作用。這樣可以大大減少開(kāi)發(fā)設(shè)計(jì)時(shí)長(zhǎng),而這種開(kāi)發(fā)設(shè)計(jì)時(shí)長(zhǎng)要花在SQL和ADO.NET中的手動(dòng)式數(shù)據(jù)處理方法上。
上一篇:得力HEIC轉(zhuǎn)換器
下一篇:云譯通