【发布时间】:2013-11-23 10:33:52
【问题描述】:
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缓存问题,有人知道怎么解决吗?
谢谢。
【问题讨论】: