org.hibernate.exception.SQLGrammarException: could not extract ResultSet解決方案
使用SSH框架連線資料庫查詢,
詳細報錯如下:
javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not extract ResultSet
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:154)
at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1542)
javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not extract ResultSet的報錯是由查詢語句Query queryObject = getSession().createQuery(queryString);造成的,原因總體來說就是資料庫查詢失敗。
查詢失敗基本都是由於HQL語句轉為SQL語句出錯引起的,下面列出幾種可能的原因:
- 資料庫連線設定的dialect不對。
- HQL語句寫錯了。
- 用到的實體類寫錯了
- 用到的實體類對映檔案hbm.xml寫錯了。
為了找到錯誤原因,我們可以在控制檯檢查HQL語句和SQL語句。
不會控制檯顯示HQL語句和SQL語句的小夥伴看這裡:SSH框架控制檯輸出HQL語句和SQL語句的方法
紅框內的是HQL語句,紅框後面select開始的是對應的SQL語句。
檢查SQL語句時,如果覺得SQL語句太長太複雜,可以把它放到資料庫裡執行一下,可以很快得到答案。
這樣做下來,想來應該對這個bug有些頭緒了吧。
相關文章
- Could not initialize class sun.awt.X11GraphicsEnvironment解決方案
- Could not obtain transaction-synchronized Session for current thread原因及解決方案AIsynchronizedSessionthread
- Intellij IDEA使用@Autowired註解,出現could not autowire錯誤,解決方案IntelliJIdea
- PySimpleGUI 引入後VsCode出現問題提示 “could not be resolved” 解決方案GUIVSCode
- Android: The following classes could not be instantiated: 解決方法Android
- 新安裝的Centos7 yum 出現could not retrieve mirrorlist 最終解決方案CentOS
- Go:錯誤 could not launch process: EOF 解決Go
- could not autowire. No beans of 'xxxx' 問題解決Bean
- Many To Many could not initialize proxy – no Session的解決方法Session
- 關於 artisan migrants Could not find drive 解決方法
- 解決CocoaPods could not find compatible versions for pod "React/Core"React
- Could not decode a text frame as UTF-8 的解決
- 解決方案| anyRTC金融音視訊解決方案
- java.lang.IllegalArgumentException: Could not find class異常解決方式JavaException
- ubuntu解決Could not get lock /var/lib/dpkg/lock-frontendUbuntu
- UnexpectedRollbackException解決方案Exception
- ResultSet.next() 慢定位
- 高併發解決方案詳解(9大常見解決方案)
- Linux下ODBC連線HGDB報Could not SQLConnect錯解決方法LinuxSQL
- mysql中出現Unit mysql.service could not be found 的解決方法MySql
- 解決Centos7 yum 出現could not retrieve mirrorlist 錯誤CentOS
- EXTRACT() 函式函式
- REGEXP_EXTRACT
- 7.86 EXTRACT (XML)XML
- 7.85 EXTRACT (datetime)
- 高可用解決方案
- Redis bigkey解決方案Redis
- 前端整合解決方案前端
- Feast on Amazon 解決方案AST
- 結果集 (ResultSet)全面解析
- minikube配置代理:解決方案以及解決思路
- 智慧停車場解決方案,反向尋車系統解決方案
- 異常資訊解決:Could not obtain transaction-synchronized Session for current threadAIsynchronizedSessionthread
- 跨域問題,解決方案 – CORS方案跨域CORS
- OGG:Extract 簡介
- ROS意外崩掉解決方案ROS
- JEESZ-SSO解決方案
- nodejs微服務解決方案NodeJS微服務