如何在同一事务中读取未提交的数据



我有一个方法做并在其他方法userupdate中调用。 在方法用户更新((中,首先我从数据库中获取了用户实体,然后在数据更改其名称后。现在我尝试在 do 方法中获取相同用户 ID 的用户实体,但成功但问题是我得到了旧用户名没有新的更新用户名。我已经尝试过隔离级别 READ_UNCOMMITTED .

Transactional( isolation=Isolation.READ_UNCOMMITTED)
public void do(){
User user = getUser( userId );
print(user.getName());//print old name Anuj
}
private void userupdate( userId ){
User user = finduserOnbaseUserId(userId);
user.setName("updatedName");
}

请帮助我如何在do((中获取更新用户实体。提前谢谢.

我有理由为什么这不起作用,因为 spring 无法拦截同一类的方法调用,因此在这种情况下事务不适用。需要新的bean用于更新方法并在此类中注入,然后代码成功运行,我已经参考了此链接

最新更新