繁体   English   中英

在Spring Data JPA中的单个事务中保存,删除和更新

[英]Save, delete and update within a single transaction in Spring Data JPA

我有以下方法:

@Transactional
public void saveUpdateAndDelete(Entity newEntity, Entity updatedEntity, long deleteEntityId) {
  entityRepository.save(newEntity);
  entityRepository.findById(updatedEntity.getId())
    .ifPresent(e -> e.setName(updatedEntity.getName));
  entityRepository.deleteById(deleteEntityId);
}

如何确保saveUpdateAndDelete方法中的所有语句将在单个事务中执行?

编辑:问题的目的是解决一些实现问题,而不是通过创建代理类来解决Spring如何处理@Transactional问题,在此进行解释: Spring-@Transactional-后台会发生什么?

正如@JB Nizet在其评论中已经指出的那样,这是@Transactional的确切目的,因此将全部处理在一个事务中。 但是,请确保从另一个bean而不是从同一类中的另一个方法调用该方法! 正如您已经指出的,那时事务性不起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM