由於是分頁查詢,固然須要知道數據的總數,因此hibernate會自動的執行sql幫你查詢全部的數量,可是看下圖就能發現,他把個人表名的別名當作字段來select count 了。html
在本地sql即@Query裏添加一個,countQuery,將你要查詢的sql語句複製,手動select count (*),這樣hibernate就不會去本身計數了,走的就是你寫的這個計數sql。(由於當時sql不是很短,我就一直刪減找問題,下面是解決後的大體樣圖):sql
多是狀態不是很好了,因此debug了好久都沒有找出問題所在,下午5點多開始弄到8點,羣裏各類問,考慮過特殊字符,中文空格各類,都快懷疑人生了。今早頭頭幫我看了後,兩分鐘解決。。。調試能力仍是太弱了。框架
其實日誌裏面已經很清楚了,hibernate都打印出來執行的sql了,只是我沒太注意那一條sql,若是注意到了可能可以面向百度解決吧。spa
分析一下報錯: hibernate
1. unknown column 'xxx' in 'field list' 這明顯說明有sql把你這個xxx當作字段了,而我這個是表名的別名,這樣就能定位到sql錯誤debug
2. 再從hibernate生成的語句中也能清晰看到 select count (xxx) ...... 這問題就很明顯了。調試
一直以來都以爲本身找錯仍是能夠的,此次和頭頭debug的差距一會兒讓我認識到要學的還有不少,尤爲是經驗不足等。這種問題,它的出問題點都是可以看到的,下次注意仔細看報的異常以及框架打印的一些日誌吧,從中獲取些本身想要的信息。日誌
原文出處:https://www.cnblogs.com/deepSleeping/p/11356282.htmlhtm