请帮助解决以下错误。我试过下面的代码,但我得到了下面提到的错误。
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();
答案 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)