1. 程式人生 > >NHibernate composite-id class must override Equals() 解決辦法 分類: 技術心得(C#與JAVA) 2013-01-23 15:20 1289人閱

NHibernate composite-id class must override Equals() 解決辦法 分類: 技術心得(C#與JAVA) 2013-01-23 15:20 1289人閱

概述:

  當使用NHibernate查詢表中的資料時,如果表中存在複合主鍵,如果沒有在相應的實體類中重寫Equals(),那麼將會出現"Could not compile the mapping document: 
TestCleanSnow.JkptGlxtUser.hbm.xml".當跟蹤出錯的內部資訊的時候會發現,內部異常為"composite-id class must override Equals(): TestCleanSnow.JkptGlxtUserId"

解決辦法:

    在JkptGlxtUserId.cs這個實體類中重寫Equals()方法如下:


  1. public override bool Equals(object obj)
  2.         {
  3.             return base.Equals(obj);
  4.         }
複製程式碼

再次執行呼叫語句,發現還出現"Could not compile the mapping document: TestCleanSnow.JkptGlxtUser.hbm.xml".這個錯誤,但是跟蹤內部異常為:InnerException = {"composite-id class must override GetHashCode(): TestCleanSnow.JkptGlxtUserId"}
到此很明顯,在遇到複合主鍵的情況下,應該還得在JkptGlxtUserId.cs中重寫GetHashCode(),程式碼如下:


  1. public override int GetHashCode()
  2.         {
  3.             return base.GetHashCode();
  4.         }
複製程式碼

再次執行呼叫程式,OK了.

相關推薦

NHibernate composite-id class must override Equals() 解決辦法 分類 技術心得(C#JAVA) 2013-01-23 15:20 1289

概述:  當使用NHibernate查詢表中的資料時,如果表中存在複合主鍵,如果沒有在相應的實體類中重寫Equals(),那麼將會出現"Could not compile the mapping document: TestCleanSnow.JkptGlxtUser.hbm.xml".當跟蹤出錯的內部資訊

NHibernate composite-id class must override Equals() 解決辦法

概述:  當使用NHibernate查詢表中的資料時,如果表中存在複合主鍵,如果沒有在相應的實體類中重寫Equals(),那麼將會出現"Could not compile the mapping document: TestCleanSnow.JkptGlxtUser.h

MySQL ID排序亂了的解決辦法

clas mysq 方法 解決 col 自動增長 mys mysql nbsp 可能在整理表中數據的時候刪除了某一行數據,導致ID空缺,下面是我用到的解決辦法:(請先備份,MySQL備份方法見 MySQL->MySQL備份) 使用ALTER DROP刪除原有的ID

eclipse打斷點只進入class檔案中的解決辦法

內容來源 https://www.cnblogs.com/scode2/p/8671908.html#undefined 是由於對應的Java類跟編譯後的class檔案,沒有關聯上, 解決辦法: 在打斷點除錯的時候,如果發現進入到了class檔案,先彆著急關閉class檔案,在該class檔案

【laravel】Class 'HTML' not found,解決辦法

錯誤提示: Class 'HTML' not found 錯誤起因:blade模板引入public目錄內的bootstrap樣式檔案,重新整理頁面報錯,通過搜尋找到以下解決辦法。 {{HTML::style('css/bootstrap3.css')}} 一、在專

關於class not found的解決辦法

java.lang.NoClassDefFoundError一般是指在引用的類在當前專案的lib中不存在,這樣就會出現這樣的錯誤。這樣的錯誤解決的難度就在於如何確實所在的包,然後找到相應的jar檔案。來解決這一類的錯誤。解決這一類錯誤,大部分都有一個共同點。例如下面這個錯誤1. java.lang.Clas

關於重寫父類介面的方法是,冒出去除@Override解決辦法

最近公司沒有事情,琢磨搞畢業設計。參照公司架構,搭起來後,dao方法中,impl繼承父類介面。一直冒紅。讓我取消這個@Override  註解。。。。 原因是 java 編譯器 版本過低,不支援。。。          解決辦法就是。右擊Properties 找到 java

關於Android studio無法建立Java Class和介面問題解決辦法

   小白,入職了一家新公司,重新配置了studio 的工作環境,拉完程式碼,剛開始一切正常,在專案上改改bug啥的都沒問題,後來加需求要新增java類和介面,這就出現問題了,新建的時候,就會報錯:Unable to parse template "Interface" Er

myEclipse開發內存溢出解決辦法myEclipse調整jvm內存大小java.lang.OutOfMemoryError: PermGen space及其解決方法

try 配置 及其 windows logs 環境 ner log reference 摘要: tomcat部署多個項目後,啟動tomcat正常,訪問項目時卻會出現該錯誤在網上查了查又試了好幾次,才解決,將解決方法記錄下來,以方便以後查看或讓遇到同樣問題的朋友有個參考 P

關於導出Excel出現異常的解決辦法System.UnauthorizedAccessException: 檢索 COM 類工廠中 CLSID 為 {000209FF-0000-0000-C000-000000000046} 的組件時失敗

size 本地 ESS spa 電腦 步驟 我的電腦 service 交互式 異常信息為:System.UnauthorizedAccessException: 檢索 COM 類工廠中 CLSID 為 {000209FF-0000-0000-C000-00000000004

c# java base64 不一致解決方案

不一致的問題不是編碼的問題  而是json字串的問題通常我們會json 巢狀  我們先來看連個字串 {"contentType":"","httpMethod":"POST","paramMap":"{\"keyword\":\"華為\"}","url":"https:\/\/bizapi.jd.com\/a

hibernate 普通欄位延遲載入無效的解決辦法(如Lazy Fetch Blob)

http://blog.csdn.net/dys1990/article/details/38728175 http://stackoverflow.com/questions/2605477/spring-hibernate-blob-lazy-loading 關於普通欄

微信支付之掃碼支付開發我遇到的坑及解決辦法(附Ecshop 微信支付外掛)

      前段時間幫一個朋友的基於ecshop開發的商城加入微信掃描支付功能,本以為是很簡單的事兒——下載官方sdk或開發幫助文件,按著裡面的做就ok了,誰知折騰了兩三天的時間才算搞定,中間也帶著疑問在網上找了不少技術文章,卻發現都只是比較粗略的寫他們是怎麼開發接入的,並沒有解決我遇到的問題...,唉,有時

C#中override重寫new隱藏的區別,以及C#JavaOverride區別

在C#中:override重寫,是指對父類中的虛方法(標記為override)或抽象方法(標記為abstract)進行重寫,實現新的功能,它必須與父類方法的簽名完全一致,而且與父類方法的可訪問性也必須一致new方法隱藏,是指在子類中重新定義一個簽名與父類的方法相同的方法,這個

C/C++java網路通訊問題彙總及解決方法

前段時間做了一個簡單的C/S系統, 分別用C++和java開發服務端和客戶端, 並通過tcp通訊. 以前沒有這方面的經驗, 只是知道理論上可行, 實際上還有不少問題要注意. 本文會陸續擴充和修改. 專案1: 校園導航 2006.6平臺: X86, windowsXP+SP2,

Override must override a superclass method 問題解決

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

eclipse 提示錯誤The method xxx of type must override a superclass method解決方式

java1.5中繼承介面是不需要@Override的,而在1.6中是需要新增@Override註解的,如果專案的編譯器是1.5版本的就可能報錯The method xxx of type must override a superclass method. 解決此問題的辦法是修改java編譯器的

he method of type must override a superclass method解決方式

工程匯入myeclipse時,出現問題提示:The method of type must override asuperclass? annotation:@Override的原因 查閱了一下資料,發現說在jdk1.5下要使用@Override 這個annotation 必須保證

Id class 變量 的賦值規範 大駝峰和小駝峰 代碼的格式和註釋的類型

id classde 變量 的賦值規範 大駝峰和小駝峰 代碼的格式和註釋的類型Id classde 變量 的賦值規範 大駝峰和小駝峰 代碼的格式和註釋的類型 其實我認為這是非常重要的,只要是個開發人員都會寫代碼,但是做到這些的卻不容易,現在公司看中的是合作能力、溝通能力、和編碼風格,這也是開發人員

Linux安裝rpm包時報錯Header V3 DSA/SHA1 Signature, key ID 1d1e034b: NOKEY解決辦法

http pki images 解決辦法 key c-s sha1 nat dsa 這是因為yum安裝了舊版本的GPG key造成的,解決辦法: rpm --import /etc/pki/rpm-gpg/RPM* Header V3 DSA/SHA1 Signatur