java.lang.IllegalArgumentException:查询中没有位置参数:update SysUser set deleted =:deleted where id =:id

时间:2016-11-16 06:40:26

标签: java hibernate spring-mvc hql

请帮助解决以下错误。我试过下面的代码,但我得到了下面提到的错误。

  

java.lang.IllegalArgumentException:查询中没有位置参数:update SysUser set deleted =:deleted where id =:id

Session session = getSession();
boolean deleted=true;
int id=1;

String hqlUpdate = "update SysUser set deleted = :deleted where id = :id";
int updatedEntities = session.createQuery( hqlUpdate )
            .setBoolean( "deleted", deleted )
            .setInteger(id, id)
            .executeUpdate();
session.close();

2 个答案:

答案 0 :(得分:0)

您需要为:id正确添加参数名称setInteger,如下所示 HQL 查询:

int updatedEntities = session.createQuery( hqlUpdate )
                    .setBoolean( "deleted", deleted )
                    .setInteger("id", id)
                    .executeUpdate();

答案 1 :(得分:-1)

id中的setInteger(id,id)替换为"id" setInteger("id",id)

相关问题