java - Hibernate 模板更新查询

标签 java hibernate

如何使用hibernate模板使用hql更新查询,这是hql语句“update Login set empSmartId = 48750005”+“where empPassword = 6328ef1675ddb7106eba8dc2661961d7”

使用 getHibernatetemplate()

当前代码:

public class LoginDaoImp extends HibernateDaoSupport implements LoginDao { 
    public boolean resetAttempt(Login login) { 
        try {
            login.setAttempt(0); 
            getHibernateTemplate().update(login); 
            return true; 
        } catch (Exception e) {
            e.printStackTrace();
        } 
        return false;
    }

}

我可以在代码工作之上保存整个pojo类,但我想使用where条件

最佳答案

HibernateDaoSupport 将有一个 getSession() 方法,它将返回配置的 DataSource 的 hibernate session 对象。使用此 session ,您可以说

Query updateQuery = getSession().createQuery("update Login l set l.empSmartId = :smartId where password = :password")
                   .setParameter("smartId", 48750005)
                   .setParameter("password", "6328ef1675ddb7106eba8dc2661961d7");
int noOfUpdatedRows = updateQuery.executeUpdate();

关于java - Hibernate 模板更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15986722/

相关文章:

java - 返回对象的特定修订版

java - 使用 for 循环创建三角形

java - 使用 CountDownLatch 等待从 vertx WebClient 返回的 http 响应

java - 如何使用Hibernate和JPA注释保存外键值

java - 设计包含大量文件数据的数据库(由 hibernate 访问)的策略

java - 当我有 "Failed to scan[...]"警告时,如何在我的 spring boot 应用程序中处理 JAR 扫描?

Java时区转换: Help Required

hibernate - 非空属性引用一个 transient 值-必须在当前操作之前保存 transient 实例

java - 使用子类连接表中的外键映射 hibernate 多对一

hibernate - 如何使用最新的库(Spring 3,Hibernate 4,Maven 3)实现独立的GORM?