學習NHibernate的感悟和疑惑

2022-02-10 02:47:43 字數 907 閱讀 8359

最近開始研究nhibernate,收穫和感慨頗多,疑問也頗多,寫出來和大家分享,因為接觸資料持久層的時間不長,理解不當之處請大家批評指正。

閒話少說。

說到這裡,我認為這樣來處理一般的情況是沒有問題,而且很方便,但是,遇到資料的字段有可能變化的情況下(不知道大家有沒有做過這樣的設計,比如乙個單據,今天客戶需要增加乙個備註,明天可能需要增加乙個別的字段,這樣的情況下,我一般都提供給客戶字段自定義的功能,使用者可以自行增加資料表的字段,單據的字段也隨之變化),我還沒有想到在nh中很理想的解決辦法。乙個可能的解決方法是,提供盡可能多的未定義的字段,根據需要給這些字段予特定的含義,這樣做的代價明顯太大,不是我們希望看到的。

二、配置檔案和o/r關係的思索

使用nh少不了配置檔案,使用配置檔案是很清楚的描述資料,但是問題又來了,nh在減少手工編寫sql的同時增加了編寫xml配置檔案的工作,雖然目前有同仁開發了通過資料庫來生成配置檔案和資料類的工具(這樣的工具我個人認為在思路上有問題,都是從關係模型到物件模型的,這樣違背了設計原則,像hibernate提供的工具就不錯,通過物件模型來生成配置檔案,進而生成資料模型,雖然有時需要調整資料模型。),如果說編寫資料類是為了更準確的描述資料的結構,是必不可少的,配置檔案是不是顯得有些多餘,比如說,資料結構需要調整,那麼需要改動程式的兩個地方。使用配置檔案會使程式**膨脹起來,給維護帶來麻煩,為什麼不能用attribute來代替配置檔案?我想像中的是這樣的形式。

[nh_class(table="cat")]

class cat

[nh_field(column="catname",type="string")]    //type可以省去

public string name get}

......

}在下愚鈍,實在想不出nh要把資料類和配置檔案分開的理由。

太睏了,睡覺了,改天接著寫。

Nhibernate學習目錄

第一章 nhibernate入門 第一講 nhibernate架構剖析 第二講 搭建第乙個nhibernate應用程式 第三講 nhibernate.cfg.xml的配置及注意事項 第二章 nhibernate中的關係對映 第一講 nhibernate中單向一對多對映 第二講 nhibernate中...

Nhibernate學習筆記(2)

接著來學習條件查詢 criteria queries 1 建立icriteria nhibernate.icriteria介面支援特定條件的查詢。isession可以建立 icriteria例項。icriteria criteria session.createcriteria typeof per...

學習的感悟

做為末流985高校的一名大四狗,這是我第一次在csdn 上寫部落格,心情未免有點小雞凍呀!我的專業技術生涯也許就此開始了。鄙人本科通訊工程專業,考研考到北京某郵,繼續學習科學文化知識,不知道未來三年我會做的怎麼樣,也不知道那乙個環境會帶來什麼樣的運氣。在csdn上看到一位博主引用了一些汪國真的詩,認...