使用jpa注释在一个事务中保存数据并在另一个事务中获取数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用jpa注释在一个事务中保存数据并在另一个事务中获取数据相关的知识,希望对你有一定的参考价值。
我正在使用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();
}
这些都是我用来运行事务的方法。
答案
尝试使用
@Modifying
@Transactional
保存和更新时
以上是关于使用jpa注释在一个事务中保存数据并在另一个事务中获取数据的主要内容,如果未能解决你的问题,请参考以下文章
Spring Data Jpa问题在一个事务中保存父,子和childofchild
无法使用 Spring Data JPA / Hibernate 在事务中两次保存具有不可变集合的实体