hibernate get

it2022-05-05  132

场景:在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的保存动作还没有提交,所以数据库里的数据根本没有更新。


最新回复(0)