hibernate里面发了update语句但是数据库就是不更新

来源:百度知道 编辑:UC知道 时间:2024/09/22 01:11:24
Hibernate: update FFCONFIGURE set CONFIGUREVALUE=? where CONFIGUREID=?
这个语句已经发出去了,但是数据库就是没能更新请问是怎么回事啊?

代码

public void updateParameter(final String configureid, final String configurevalue) throws Exception {
getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException {
String hql = "UPDATE Ffconfigure SET configurevalue=? WHERE configureid=?";
Query q = session.createQuery(hql);
q.setString(0, configureid);
q.setString(1, configurevalue);
q.executeUpdate();
return null;
}
});
}

你没有启动事务

要改成这样就行了

public void updateParameter(final String configureid, final String configurevalue) throws Exception {
getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException {
Transaction tran = session.beginTransaction();//启动事务
String hql = "UPDATE Ffconfigure SET configurevalue=? WHERE configureid=?";
Query q = session.createQuery(hql);
q.setString(0, configureid);
q.setString(1, configurevalue);
q.executeUpdate();
tran.commit();//提交事务
return null;
}
});
}