public boolean update(User user) {
User u = (User) this.getSession().get(User.class, user.getId());
if(user.getPassword() != "") {
u.setPassword(user.getPassword());
}
if(user.getAddr() != "") {
u.setAddr(user.getAddr());
}
if(user.getPhone() != "") {
u.setPhone(user.getPhone());
}
this.getSession().flush();
this.getSession().update(u); //此句不能更新
//this.getHibernateTemplate().saveOrUpdate(u); //此句可以更新
this.getSession().beginTransaction().commit();
return true;
}
我想问一下为什么上面的代码 this.getSession().update(u); 执行完后数据库里面没有任何变化,而用this.getHibernateTemplate().saveOrUpdate(u); 却可以成功更新数据库?
[b]问题补充:[/b]
User u是session的 直接set这个PO就可以更新了 无需调用update
u.setPhone("111111");
this.getSession().beginTransaction().commit();
我也试过这样,可是还是不能更新.