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
- Could not find *.apk!解決辦法APK
- CRS-4639: Could not contact Oracle High Availability Services解決方案集OracleAI
- 網站部署後Parser Error Message: Could not load type 的解決方案網站Error
- 解決"Could not reserve enough space for object heap"Object
- GoldenGate Extract程式hang問題解決一例Go
- 新安裝的Centos7 yum 出現could not retrieve mirrorlist 最終解決方案CentOS
- PySimpleGUI 引入後VsCode出現問題提示 “could not be resolved” 解決方案GUIVSCode
- Go:錯誤 could not launch process: EOF 解決Go
- Could not find jar tool executable問題解決JAR
- jar檔案could not find the main class解決JARAI
- Many To Many could not initialize proxy – no Session的解決方法Session
- 解決方案| anyRTC金融音視訊解決方案
- 關於 artisan migrants Could not find drive 解決方法
- Could not decode a text frame as UTF-8 的解決
- Android: The following classes could not be instantiated: 解決方法Android
- Could not resolve host: 'localhost 報錯解決辦法localhost
- LAMP解決方案LAMP
- 高併發解決方案詳解(9大常見解決方案)
- ios不支援fixed解決解決方案iOS
- FATAL ERROR: Could not find ./bin/my_print_defaults 解決方法Error
- PRVF-0002Could not retrieve local nodename的解決方法
- WARNING:Could not lower the asynch I/O limit 錯誤解決MIT
- 前端整合解決方案前端
- 高可用解決方案
- UnexpectedRollbackException解決方案Exception
- Feast on Amazon 解決方案AST
- 埠占用解決方案
- [求助]SQLException: ResultSet is closedSQLException
- 智慧停車場解決方案,反向尋車系統解決方案
- 解決CocoaPods could not find compatible versions for pod "React/Core"React
- 解決Centos7 yum 出現could not retrieve mirrorlist 錯誤CentOS
- mysql中出現Unit mysql.service could not be found 的解決方法MySql
- java.lang.IllegalArgumentException: Could not find class異常解決方式JavaException
- MySQL could not be resolved: Temporary failure in name resolution報錯解決方法MySqlAI
- ubuntu解決Could not get lock /var/lib/dpkg/lock-frontendUbuntu