使用jpa注释在一个事务中保存数据并在另一个事务中获取数据

时间:2018-03-01 14:29:39

标签: java spring spring-data-jpa spring-transactions transactional

我正在使用JPA处理Spring MVC,其中m使用基于注释的结构。我必须在数据库中上传excel文件,其中我需要使用更新列方法更新名为status的列,然后将数据保存在表中,然后需要从具有状态的表中获取所有记录(已更新)。在这种情况下一切正常,除非我从数据库中获取记录,它获取旧数据,它不从表中获取更新记录。我在方法中使用了事务注释。

我尝试过使用@transaction(propagation = propagation.required_new),但它也会提取旧数据。

任何人都可以建议我吗?

@Transactional
    @Override
    public void updateStatus() {
        lotAcceptanceRateRepository.updateStatus();
    }

@Transactional
    @Override
    public void saveList(List<LotAcceptanceRate> lotAcceptanceRateList) {
        lotAcceptanceRateRepository.save(lotAcceptanceRateList);
    }

@Transactional(propagation = Propagation.REQUIRES_NEW)
    @Override
    public List<LotAcceptanceRate> getAllRecordsFromTable() {
        return lotAcceptanceRateRepository.OrderByStatusAsc();
    }

这些都是我用来运行事务的方法。

1 个答案:

答案 0 :(得分:0)

尝试使用

 @Modifying
 @Transactional

保存并更新时