我知道這可能是一個重複的,具有諷刺意味的是,在我開始閱讀這裏和那裏之前,我想我知道它是什麼(無論說什麼,但我仍然會說,請糾正我,我錯了) :
它免除了程序員必須使用transaction.begin()和commit()
。如果你有一種方法調用兩個DAO方法,通常每個方法都有一個包含真實操作的transaction.begin
和transaction.commit
,並調用它們,它會導致兩個事務(如果以前的dao方法應該回滾也可能會出現回滾問題)。但是如果你在你的方法上使用@transactional
,那麼這些DAO調用將被包裝在一個單獨的週期中begin()
- commit()
週期。當然,如果您使用@transactional
,則DAO不得使用我認爲的begin()
和commit()
方法。@Transactional做什麼?
6
A
回答
0
我建議你這個鏈接,解釋一切在春季交易。
http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/transaction.html
你也應該看到有關事務性的(傳播的rollbackFor等)相同的屬性,如果你使用這些屬性的交易行爲可能會改變。
相關問題
- 1. 什麼FlushModeType做的是@Transactional的使用?
- 2. 爲什麼Spring的@Transactional幫助性能
- 3. @Transactional爲什麼沒有使用@Autowired EntityManagerFactory?
- 4. @RestController方法默認爲Transactional,爲什麼?
- 5. 爲什麼不是@Transactional註釋工作?
- 6. 使用@Transactional(readOnly = true)有什麼好處?
- 7. 爲什麼要使用@Transactional Jboss Seam
- 8. 做minHeight做什麼?
- 9. WPF能做什麼和不做什麼?
- 10. 在Perl中做什麼=〜做什麼?
- 11. 什麼「?」做?什麼是__FILE__?
- 12. 什麼是setDetailItem:做什麼?
- 13. @Transactional Spring Junit測試沒有做回滾
- 14. SIFT做什麼?
- 15. 什麼[System.SerializableAttribute()做
- 16. WT_EXECUTEINUITHREAD做什麼?
- 17. requirejs.config()做什麼?
- 18. BasicLSTMCell做什麼?
- 19. System.Concurrency.AsyncLock做什麼?
- 20. || =做什麼?
- 21. Notification.DEFAULT_VIBRATE做什麼?
- 22. android:layout_column做什麼?
- 23. Hibernate.initialize做什麼?
- 24. @SingleValueResult做什麼?
- 25. ``.`做什麼?
- 26. 塊做什麼?
- 27. CCriticalSection做什麼?
- 28. 「as_text_trimmed」做什麼?
- 29. aspnet_regiis.exe做什麼
- 30. Preference.setSummary()做什麼?
你是對的這是重複的http://stackoverflow.com/questions/1099025/spring-transactional-what-happens-in-background – robotoaster
有一件事想補充的是,如果你添加一些代碼,如提交或在你的方法中開始programmaticlly,它會工作。事務只會將您的數據庫連接更改爲不自動提交。 – OQJF