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