奇怪的SQL Error: 0,SQLState: S0022错误
Posted 血战31天
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了奇怪的SQL Error: 0,SQLState: S0022错误相关的知识,希望对你有一定的参考价值。
我使用hibernate和javabean开发web application遇到以下错误
22203 [http-80-4] INFO org.hibernate.type.StringType - could not read column value from result set: name; Column ' name ' not found.
22203 [http-80-4] WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 0,SQLState: S0022
22203 [http-80-4] ERROR org.hibernate.util.JDBCExceptionReporter - Column ' name ' not found.
org.hibernate.exception.SQLGrammarException: could not execute query
我的sql语句是
select ta.name as username,
ta.code,
ta.desc,
tb.type,
tb.name as displayname
from tablea ta
left join tableb tb on tb.id = ta.id
这个sql语句很简单,但并不知道什么原因报错。尝试了很多方法但都不奏效。
我将sql语句修改成
select ta.name ,
ta.code,
ta.desc,
tb.type,
tb.name
from tablea ta
left join tableb tb on tb.id = ta.id
或
select ta.name ,
ta.code,
ta.desc,
tb.type,
tb.name as displayname
from tablea ta
left join tableb tb on tb.id = ta.id
控制台不再报错,但是javabean无法取到tb.name的值,或者说tb.name是空。不知道hibernate是怎么处理的。
有尝试了很多遍,终于解决了问题,但还是不清楚原因。
select ta.name ,
ta.code,
ta.desc,
tb.type,
concat(tb.name,’’)
from tablea ta
left join tableb tb on tb.id = ta.id
问题虽然解决了,但是不知道内在机理,心里总觉得不爽,大家有类似情况的分享一下啊。
以上是关于奇怪的SQL Error: 0,SQLState: S0022错误的主要内容,如果未能解决你的问题,请参考以下文章
DB2 SQL error: SQLCODE: -204, SQLSTATE: 42704, SQLERRMC: STAR9.T_LIANG,这个问题怎么在hibernate中如
DB2 SQL Error: SQLCODE=-1585, SQLSTATE=54048
SQL Error: 1064, SQLState: 42000
DB2 SQL error: SQLCODE: -104, SQLSTATE: 42601, SQLERRMC