码迷,mamicode.com
首页 > 其他好文 > 详细

Space is not allowed after parameter prefix ':'

时间:2015-03-04 18:16:45      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:

问题:在hibernate中执行mysql语句,如果mysql语句中含有@a := 1 之类的变量,回报这个错误

语句类似于“set @rownum=0, @preval=null; select @rnk:=IF((@rownum := @rownum + 1) and (@preval <=> sal), @rnk, @rownum) AS rnk, @preval:=sal sal FROM emp order by sal;”在mysql(5.X版本)中的sql编辑器中可以运行通过,但是在java程序中却抛出异常:org.hibernate.QueryException: Space is not allowed after parameter prefix ‘:‘ ....

在网上 查找了资料,却发现这是hibernate3.X包之下的一个bug,

(参照http://bugs.mysql.com/bug.php?id=41741)在hibernate4.X中已经修复。

但是项目中不可能使用hibernate4.0,最后不能不使用原生jdbc进行解决...

 

引用:http://huapengpeng1989412.blog.163.com/blog/static/58828754201291411578566/

Space is not allowed after parameter prefix ':'

标签:

原文地址:http://www.cnblogs.com/siashan/p/4313761.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!