Hibernate模板更新查询

时间:2013-04-13 10:16:52

标签: java hibernate

如何使用hibernate模板使用hql update查询thi是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 where

1 个答案:

答案 0 :(得分:0)

HibernateDaoSupport将有getSession()方法,该方法将返回已配置的 DataSource 的hibernate会话对象。使用此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();