2014-06-13 110 views
2

我們有基於Spring MVC的web應用,其服務方法歸於@Transactional(readonly = true)。事務readonly = true在提交事務時不會拋出異常

我期待春天拋出異常,因爲我們有方法提交數據在MySQL數據庫。

任何人都可以幫我解釋爲什麼事務屬性(只讀)相關的異常不會被拋出?

下文提到的是代碼...

@Service 
@Transactional 
public class AppService { 

... @Autowired Dao 

public int createApplication(AppVO vo){ 

.... 

} 

} 
+0

檢查[this](http://stackoverflow.com/a/1712328/1777090)解釋和[this](http://stackoverflow.com/a/13884303/1777090)是否有幫助。 –

回答

3

從的@TransactionalreadOnlyJavadoc直採取如下:

這只是充當實際交易子系統的提示;它 不一定會導致寫訪問嘗試失敗。一個 事務管理器不能解釋只讀提示不會 在詢問只讀事務時會拋出異常。

因此,不會引發異常不會引發。

+0

謝謝。當在服務端爲實驗目的將傳播值表示爲NOT_REQUIRED時,它不會拋出任何異常,事實上它會提交事務。 – user2775185

+0

@ user2775185歡迎您! – geoand

相關問題