spring @Scope("prototype")注解更新问题,寻求帮助
项目使用的是ssh2.
struts2的action是现成不安全的,为了保证安全在action上加上了这个注解 @Scope("prototype"),在执行更新的时候,实际却执行的插入,希望各位大侠帮我解释一下什么原因,去掉了注解就可以正常更新!!!
action摘要如下
@Scope("prototype")
public class ColumnAction extends ActionSupport {}
private Column column;(get set方法)
//在页面上点更新执行这个方法,将对象返回到页面
public String queryById(){
column=ps.queryById(id);
return "updatePage";
}
//在页面修改好后调这个方法更新
public String update() throws Exception {
ps.update(column);
return SUCCESS;
}
}
dao层更新方法如下
public void update(Column c) {
hibernateTemplate.saveOrUpdate(c);
}
------解决方案--------------------孩纸,你得先把那个对象GET出来才能UPDATE,否则HIBERNATE就把它看成新对象了,当然是SAVE啦。
你可以先GET出来,然后把要修改的列SET一个,然后再UPDATE就OK啦