hibernate中使用SQL语句,其中包含冒号:,该怎么处理啊?

SQL语句如下
SELECT * from

(SELECT @rownum:=@rownum+1 rownum, i.goid FROM (SELECT @rownum:=0) r, tablename i) as tmp

where goid=1008300000054108

表名tablename ,主键字段名goid

我的目的是要在MYSQL中,获得某条记录的rownum,以查出某条记录在分页查询中的第几页。

这个是hibernate的一个bug,一直没有修复。

据说修复这个会带了sql解析的复杂度和风险。。

要不放弃hiberante,要不放弃这种语法

可以试试这个

SELECT * from
(SELECT @rownum/*'*/:=/*'*/@rownum+1 rownum, i.goid FROM (SELECT @rownum/*'*/:=/*'*/0) r, tablename i) as tmp
where goid=1008300000054108
用 /*'*/把 := 包围起来