簡體   English   中英

在單個事務中運行spring @Transactional注釋方法

[英]Run spring @Transactional annotated methods in a single transaction

我們有幾個類,用於以Command-Query-Separation方式寫入和讀取數據庫層。

這些類中的每一個都分別用@Transactional注釋@Transactional(readOnly = true)。

現在我們已經實現了一個數據導入,它創建了許多對象並使用我們的命令層將它們寫入數據庫。

目前,每個單個對象的寫入都是在自己的事務中完成的 ,我很確定這是一個主要的性能殺手。

是否有一種簡單的方法以某種方式注釋數據導入類,即使它多次在命令層中調用許多@Transactional注釋方法,所有這些都將在單個事務中完成

這甚至是提高插入性能的有效方法,還是您認為這是一個壞主意?

錯誤一:我使用了ExecutorService,正如我在這篇文章中所讀到的。 如何在多線程彈簧中使用spring事務不支持多線程與事務相結合。

錯誤二:我替換了ExecutorService,直接使用注釋@Transactional調用了spring托管類方法,但是這次它沒有工作,因為類嵌套在調用類中,因此它不被視為“來自外部的調用” ”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM