日期:2014-05-20  浏览次数:20810 次

SSH中无法使用update更新字段!
Java code

User u = new User();
u.set...
....
super.getSession().save(user);



可以成功,

but
Java code


int id = 1;
User u = getUserById(id);
u.set...
....
super.getSession().update(user);



无异常,但数据库中对应字段未更新,何故?



------解决方案--------------------
ssh中
public class xxx extends HibernateDaoSupport然后
不是有this.getHibernateTemplate().saveOrUpdate(user);么?
不管是保存还是更新,spring会自动判断。
------解决方案--------------------
应该是这样:
如果你使用 getHibernateTemplate(),那么是由 spring来负责维护session的打开、关闭和数据的提交,
如果你自己获取session,那么就需要手动提交。