sql - 如何使用 Hibernate SQL 查询更新单元格数据

标签 sql hibernate hql

我有一个表“用户”,有很多列,其中两个是“用户名”和“密码”
用户名是主键列

我想更新用户名的密码。这是我的代码,它工作正常(没有错误或异常)但没有更新密码。

我是 Hibernate 的新手,不太了解它的语法。请帮我

 String query = "UPDATE users SET Password = '"+ newPassword +"' WHERE Username = '"+ login.getUsername() + "'";

 session.createSQLQuery(query);

login.getUsername() 正在正确获取所需的用户名

其余代码工作正常问题在上面的代码中。

最佳答案

您刚刚创建了一个查询,但尚未执行它:

SQLQuery sqlQuery = session.createSQLQuery(query);
sqlQuery.executeUpdate();

注意
  • 您应该使用命名参数而不是连接参数。这将防止 SQL 注入(inject)攻击,或者当密码或用户名包含 ' 时发生错误。
  • 在 Hibernate 中,您通常使用以下命令执行这些简单的操作:

  • -
    User u = session.get(User.class, userName);
    u.setPassword(newPassword);
    

    关于sql - 如何使用 Hibernate SQL 查询更新单元格数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10948655/

    相关文章:

    java - @OneToMany 没有反向关系且没有连接表?

    java - 我可以使用 Hibernate 对特定整数大小执行验证吗?

    sql - 合并具有相同日期的数据行

    mysql - 我如何使用 join 编写等效的 sql 查询?

    sql - 添加 where 子句会使查询速度变慢

    java - Hibernate加载同一行

    java - Hibernate后端条件查询包含: where(1=1) what does it means?

    sql - 依赖外键级联不好吗?

    java - 组织.Hibernate.AnnotationException : No Identifier Specified For Entity I don't have a id in my table

    hibernate - HQL 查询从表中获取所有名称