关于网友提出的“hibernate中oracle使用原生sql查询left join”问题疑问,本网通过在网上对“hibernate中oracle使用原生sql查询left join”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:hibernate中oracle使用原生sql查询left join
描述:
sb.append(" left join T_HOUSE_SITE_AUDITO t2 on m.F_APPLY_ID = t2.F_APPLY_ID");
增加上面的语句后就报错:
2015-2-2 18:32:34 org.hibernate.type.NullableType nullSafeGet
信息: could not read column value from result set: F_IDCARD; 列名无效
2015-2-2 18:32:34 org.hibernate.type.NullableType nullSafeGet
信息: could not read column value from result set: F_IDCARD; 列名无效
2015-2-2 18:32:34 org.hibernate.util.JDBCExceptionReporter logExceptions
警告: SQL Error: 17006, SQLState: 99999
2015-2-2 18:32:34 org.hibernate.util.JDBCExceptionReporter logExceptions
警告: SQL Error: 17006, SQLState: 99999
2015-2-2 18:32:34 org.hibernate.util.JDBCExceptionReporter logExceptions
严重: 列名无效
2015-2-2 18:32:34 org.hibernate.util.JDBCExceptionReporter logExceptions
严重: 列名无效
但是实际上什么情况呢,列名都对应上了(因为增加的left join 那个查询不涉及列名)。不存在无效的情况。sql放在plsql里面可以执行。hibernate里面就报错
解决方案1:你用的是hql查询吧
解决方案2:你把日志开一下,打印hibernate发出的查询语句,看看是不是被它给调整了。
以上介绍了“hibernate中oracle使用原生sql查询left join”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1164491.html