Caused by: java.sql.SQLException: 索引中丟失 IN 或 OUT 引數:: 1
今天遇到一個奇怪的異常,是這樣的,之前我定義了一個Long型別的常量,並把它作為以下方法的引數
getHibernateTemplate().get(clazz, id);
可以正常返回指定類的記錄物件。後來,為了業務需要,把這個Long型別的常量改為了Integer型別,結果執行的時候上面的方法報錯,錯誤如下:
Caused by: java.sql.SQLException: 索引中丟失 IN 或 OUT 引數:: 1
按異常資訊的意思,就是傳入SQL的引數個數和SQL需要的引數個數不一致了。我就奇怪了,一共就1個引數,怎麼會報這個錯誤,如是把這個常量改為int型別,還是報同樣的錯誤,最後恢復為當初的Long型別,應用才恢復正常,不再報錯。
這裡需要說明,要查詢的物件裡面id屬性也為Long型別,可能因為這點,所以Hibernate框架就要求傳入的引數也必須是這個型別了,這點可以理解。但因為這塊的不一致而報的錯誤資訊,確很不能讓人理解了,甚至誤導別人的解決思路。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9399028/viewspace-730859/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- GET請求的引數丟失
- Caused by: java.lang.IllegalArgumentException: port out of range:-1JavaException
- 2.7.10 恢復丟失或損壞的伺服器引數檔案(SPFILE)伺服器
- webview 上 postUrl 傳送引數過程中資料丟失或錯誤 的問題WebView
- undo檔案丟失或損壞
- struts中session丟失Session
- out,ref,params引數傳遞
- C#中ref、out及特殊說明引數的用法C#
- 使用in out引數模式的過程模式
- 使用out引數模式的過程模式
- 丟失活動或當前日誌組的恢復
- 引數檔案丟失無法啟動_ 利用alert日誌修復
- c# 方法引數(傳值,傳引用,ref,out,params,可選引數,命名引數)C#
- js浮點數丟失問題JS
- 引數檔案控制檔案和資料檔案丟失的恢復
- 丟失undo檔案和隱含引數_allow_resetlogs_corruption恢復
- Caused by: java.sql.SQLException: 無法從套接字讀取更多的資料JavaSQLException
- Caused by: java.sql.SQLException: 無法轉換為內部表示解決方法JavaSQLException
- c#.net中引數修飾符ref,out ,params得區別C#
- java.sql.SQLException:IO 錯誤:Socket read timed out !JavaSQLException
- 條件變數如何避免丟失通知變數
- Oracle全部索引丟失導致的效率問題處理Oracle索引
- Win10系統中啟動引導項丟失瞭如何修復Win10
- MySQL 儲存過程引數IN OUT INOUT對比MySql儲存過程
- Oracle 10g rebuild index,索引原來統計資訊丟失Oracle 10gRebuildIndex索引
- Feign客戶端呼叫服務時丟失Header引數的解決方案客戶端Header
- vue.js頁面重新整理及後退引數丟失的解決方案Vue.js
- 差點丟失資料的RMAN 恢復,最後用隱藏引數開啟
- 深入理解JavaScript中的精度丟失JavaScript
- LeetCode:尋找丟失的數字LeetCode
- js浮點數儲存精度丟失原理JS
- Lua中呼叫ref和out修飾引數的函式/過載函式函式
- [深度學習]丟棄法(drop out)深度學習
- 新建的表空間(或資料檔案)丟失以及控制檔案丟失,有新建表空間(或資料檔案)前的控制文
- ORACLE 回滾段表空間資料檔案丟失或損壞處理方法(1) (轉)Oracle
- 備份與恢復--資料檔案損壞或丟失
- Qt中多個原始檔中呼叫同一引數或物件等QT物件
- oracle 更新丟失Oracle