最近剛開始接觸NHibernate三層框架,確實是遇到了很多大大小小的問題,總算是比較理解了這種模式。可是當我進行測試是,老是有一個異常出現的頻率極其高,就是 no persister for:×××.×× 。到網上也查了,發現致使這種錯偏差很少也就三種常見的緣由。數據庫
一,是映射文件或配置文件命名錯誤,eg:News_T.hbm.xml和NHibernate.cfg.xml就是正確的,而New_T.xml和NHibernate.xml就是錯誤的。app
二,是配置文件裏面缺乏 <mapping assembly="×××"/> 語句。框架
三,xml文件屬性生成操做必定要設置爲「嵌入的資源」。測試
我就很仔細的一遍遍的檢查本身有沒有這樣的錯誤,這不斷檢查和摸索的過程當中竟然發現形成這種錯誤的緣由還有很明顯的一種,那就是映射文件中的內容沒有和實體中還有數據庫中數據的定義分別對應,因此必定要注意細節問題啊!最後幾乎沒有發現有什麼錯誤了,但是仍是沒有測試成功,簡直是折騰人。不過,最後才發現原來是並非個人全部的xml文件的生成操做都設置爲「嵌入的資源」,我一直覺得只須要將配置文件的設置就行了,原來是要全部的啊!更要命的就是,我無心中中把某些映射文件設置爲嵌入的資源,因此有些測試成功了,有些沒有設置的就怎麼也成功不了,我也怎麼找不到出現異常的緣由。xml