MySQL 5.0 データベース (ORM として Hibernate 4) に対して、JDBC 経由でカスタム変数を含むクエリを実行しようとしています。
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>)
?