簡體   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