Parameter XXX does not exist as a named parameter in[.....]

来源:互联网 发布:2016手游大数据 编辑:程序博客网 时间:2024/06/05 15:06


最近出现了几次类似于Parameter XXX does not exist as a named parameter in[…..]的错误,排查起来也比较痛苦,这里记录下报错的原因:
1.查询条件:

searchCondition.append(" and t.certificateId =:  certificateId");
  • 1
  • 1

这么写就会报错,=:符号必须紧跟后面的变量,需写成:

searchCondition.append(" and t.certificateId=:certificateId");
  • 1
  • 1

2.查询条件:

searchCondition.append(" and t.logStatus in (:logStatus)");
  • 1
  • 1

会报错,要写成

searchCondition.append(" and t.logStatus in(:logStatus)");
  • 1
  • 1

简单来说,就是在写hql的查询语句的时候,没事不要瞎加逗号,尤其是查询条件和值之间,否则hibernate在执行语句的时候就会报错,这点非常重要,在使用charindex函数是使用:x 时,变量值里面有,号是会报这种错误,把逗号改为|就行

阅读全文
0 0
原创粉丝点击