春季交易管理:读取同一交易中未提交的数据

时间:2018-10-07 05:20:03

标签: spring spring-jdbc

如何在同一事务中读取未提交的数据。我正在使用spring jdbc。

示例代码

 @Transactional
    public Resource update(){
    dao.update();
    Resource resource = dao.getById("1");
    return resource;
    }

这将返回旧数据,因为尚未提交事务。我想要类似于JPA中的entityManager.merge()的东西。我读了一些有关事务隔离的文章,但他们都谈论两个不同的事务。我的问题是在同一笔交易中如何读取未提交的数据?

1 个答案:

答案 0 :(得分:0)

您可以配置事务隔离级别

@Transactional(isolation=Isolation.READ_UNCOMMITTED)

在您的情况下,您只有一笔交易。看来您有一个事务要更新,一个事务要保存。 如果您使用的是Spring数据jpa,则每个CRUD操作都在不同的事务中执行。