Hibernate 模糊查詢 ' %?% ' SQL執行異常


  今天我在使用Hibernate 的SQL預編譯之后注入參數的形式寫了一條模糊查詢語句。剛開始我是這么寫的

  

  然后當我執行這條SQL語句后

  

  可以看到結果是無效字符SQL異常。

  然后我查了下原因,發現以上SQL在預編譯時缺少 ' '  才導致SQL異常 

  

  下面我改成這種方式

  

  結果輸出如下

  

  這問題原因是什么呢? 

 

  

   原因:HQL語句中''中的?沒有解析成占位符,確解析成字符串了。

   所以按照要求要去掉' ',但去掉' '就會報上面一項錯誤。

   在我咨詢了同事自后,我的問題得到了解決。解決的方法就是使用SQL 中的 || 字符串連接符。

  

  這種方式就避免了上面兩種方式帶來的異常問題 ,而且還是用了SQL預編譯,防范了SQL注入攻擊。

 

 

  以上是我工作中一個小問題,特此記錄,以備以后自己查閱

  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM