首页 > 其他 > 详细

Space is not allowed after parameter prefix ':'

时间:2015-03-04 18:15:54      阅读:292      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!