我正在尝试通过 JDBC 向 MySQL 5.0 数据库(作为 ORM 的 Hibernate 4)运行涉及自定义变量的查询:
SET @rownum := 0; SELECT rnum FROM (
SELECT (@rownum := @rownum + 1) AS rnum, col_name_a
FROM table_name
WHERE (col_name_b IS NULL OR col_name_b != 'USER' ) ORDER BY col_name_a) c
WHERE col_name_a = :aValue
第一个SET @rownum := 0;
需要重置变量,但那里不需要冒号(我已经按照这个问题的建议设置了allowMutilQuery=true)。
问题出在以下SELECT
,我不断得到:
org.hibernate.QueryException:参数前缀“:”后不允许有空格
有没有解决的办法?我应该使用其他方法吗
javax.persistence.Query q = EntityManager instance>.createNativequery(String)
和
q.setParameter(<param name>, <param value>)
?