[英]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.