使用spring boot,jap,hibernate不小心的錯誤:
java.sql.SQLException: Column ‘列名’ not found:
這句話的意思是:找不到此列
為什么會出現這個問題?
原因:我們在執行SQL語句查詢的時候為列名起了 別名所導致的
數據庫字段帶下划線:el_empno
在@Query中我們這樣 :( value = “select el_empno as empno …”)
OK,異常來了:java.sql.SQLException: Column ‘列名’ not found
再使用spring boot 時,在…Repository中使用類似語句時:
@Query(value = “SELECT 列名1,列名2,…列名n FROM 表名稱”, nativeQuery= true)
如果你是這樣:@Query(value = “SELECT 列名1 AS 別名1,列名2 AS 別名2,…列名n AS 別名N FROM 表名稱”, nativeQuery= true)
就會報錯:java.sql.SQLException: Column ‘列名’ not found
當我們使用SQL語句時,表中的所有字段全寫出來,如果多就用*,不多的話就一個一個寫出來,記得不要加別名,
如果不全部寫出來的話就會報:java.sql.SQLException: Column ‘列名’ not found
避免此錯誤:
- 不要為查詢字段起別名
- 寫出要查詢的表中所有字段,不管你是否需要該字段,全寫
- OK,問題解決。。。