//dao
public void update(Po p) {
this.getHibernateTemplate().update(p);
}//Serviceimp
public void update(Po p)
{
dao.update(p);
}
//Action
组装一个Po
Po p =new Po()
po.setId=id
po.setName=name
....
Serviceimp serviceimp;//增加 getter/setter方法
serviceimp.update(p)
一楼的我更不大懂,难道要从新写个 po 吗???请大哥详细解释,小弟愚沌..........
但是为什么不在配置文件中直接写入dynamic-update呢?
serviceimp.update(p)这样的代码是错误的, 不符合逻辑.
一个对象已经存在于数据库, 怎么能再new一个呢.
应该是
Po p = serviceimp.load(Po.class,id);
serviceimp.update(p)先load把它从数据库中读出来,然后更新字段, 再update回去.
dynamic-update并不好, 因为hibernate要判断字段有没改变, 必然要保存一个副本来比较,浪费内存.