场景:在A方法里根据id加载po,给po赋值,然后保存,保存完之后,调用B方法,po的主键是入参,然后在B方法里根据id加载po。
public void A(String id){
Po po = dao.get(Po.class,id);
//赋值
dao.save(po);
B(po.getId());
}
public void B(String id){
Po po = dao.get(Po.class,id);
//使用po
}
问题来了,在B方法里,获得的po根本不是新的,还是保存前的数据。
修改后:
public void A(String id){
Po po = dao.get(Po.class,id);
//赋值
dao.save(po);
B(po);
}
public void B(Po po){
//使用po
}
为了获得po保存后的值,直接把po传过去。
问题点:
get的问题,get是去数据库重新查询,可是这时po的保存动作还没有提交,所以数据库里的数据根本没有更新。