有問題的項目使用Spring 4,Java 7,並堅持Oracle和PostgreSQL。在同一進程中支持多個Spring @Transactional回滾?
我正在寫一個服務的集成測試,它將數據保存到兩個數據庫。對於集成測試,我想讓這兩個事務自動回滾。我知道如果不使用Java 8,我不能使用「重複」註釋,因爲我會遇到編譯錯誤。如果我在類級別放置一個註釋,並且在方法級別放置另一個註釋,我可以編譯得很好。但是,看起來列出的較高註釋不會回滾。爲了澄清,如果我在類或方法級聲明@Transactional
註釋(Oracle或PostgreSQL)作爲獨立註釋,那麼這個回滾完美地起作用。但是,如果我在類級別實現一個註釋,並且在方法級別實現另一個註釋,則回滾將僅適用於方法級別,而不適用於類級別。
我懷疑多個@Transactional
註釋會工作得很好,只要進程只試圖一次回滾一個。例如:一種方法使用Oracle Transaction,另一種方法使用PostgreSQL Transaction。
有什麼想法?