【发布时间】:2012-03-16 15:08:20
【问题描述】:
我正在使用休眠。我写了一些原生查询,因为我需要使用 sub select 语句。
查询如下所示:
SELECT sub.rownum FROM
(SELECT k.`news_master_id` AS id, @row := @row + 1 AS rownum
FROM keyword_news_list k
JOIN (SELECT @row := 0) r
WHERE k.`keyword_news_id` = :kid
ORDER BY k.`news_master_id` ASC) AS sub
WHERE sub.id = :nid
当我像这样运行这个查询时:
sessionFactory.getCurrentSession()
.createSQLQuery(query)
.setParameter("kid", kid)
.setParameter("nid", nid)
.uniqueResult();
这个异常出来了:
org.hibernate.QueryException: Space is not allowed after parameter prefix ':' ....
这可能是因为:= 运算符。我发现了一些关于这个的Hibernate issue。这个问题仍然是开放的。这个问题没有解决办法吗?
【问题讨论】:
-
这里有什么可以帮助你的吗? dev.mysql.com/doc/refman/5.0/en/…
-
@ManuPK 谢谢,但没有帮助。我认为我的问题没有解决方案。我发现与我的stackoverflow.com/questions/2712240/… 类似的问题,但没有好的解决方案。
标签: java mysql hibernate nativequery