Pojo 对象:
public class Test {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="id")
private Integer id;
private String name;
@Column(columnDefinition="int default 100")
private int number;
.....getter and setter........
}
后端操作:
@ResponseBody
@RequestMapping(value= "/common/index3")
public String index3(){
Session session = sessionFactory.getCurrentSession();
Test t = session.get(Test.class, 1);
t.setNumber(t.getNumber() - 1);
System.out.println("invoked");
session.update(t);
return "success";
}
网页ajax触发器
$(document).ready(function(){
for(var i = 0; i < 3; i ++){
$.post("/common/index3");
}
}
问题
从客户端我向后端操作发送了 3 次请求,并且该操作也被正确调用了 3 次,但是,在数据库中,“数字”列仅被扣除 1 次,调用 3 次后,列值从 100 变为 99 ,不知道为什么只扣了1次,预期值应该是97,我尝试flush & clear session来避免hibernate3缓存问题,有人知道怎么解决吗?
谢谢你。