MismatchedTokenException:期待“set”,找到'='

时间:2017-11-07 08:30:21

标签: java spring postgresql hibernate

在我的java spring启动应用程序中,我正在使用postgresql。我正在尝试运行以下查询

String update = "update User" +
            "set temporaryRandomToken = :randomToken" +
            "where id = :userId";
     org.hibernate.query.Query<?> sql = createHql(update)
             .setParameter("randomToken", "12aswqq")
             .setParameter("userId", 1);

问题是,当我运行查询时,它会抱怨

MismatchedTokenException: expecting "set", found '='

userIdrandomToken必须动态更改,因此请不要提供我的静态查询字符串。

3 个答案:

答案 0 :(得分:2)

你需要在2行的开头有一个空格(在#34之前;设置&#34;和&#34;其中&#34;):

String update = "update User" +
        " set temporaryRandomToken = :randomToken" +
        " where id = :userId";

答案 1 :(得分:1)

你错过了一个空间。改变

String update = "update User" +

为:

String update = "update User " +

答案 2 :(得分:1)

好像你忘了在用户&#39;之间添加额外的空格。和&#39;设置&#39;