java面試題Spring支持的常用事務傳播屬性和事務傳播級別


事務的屬性

    1   propagation用來設置事務的傳播行為

                     事務的傳播行為:一個方法運行在了一個開啟事務的方法中,當前方法是使用依附的方                      法事務還是使用自身的事務

             Propagation.REQUIRED默認值 使用其依附的別人方法的事務

             Propagation.REQUIRES_NEW 將原來的事務掛起  開啟一個新的事務(即執行自身的事務)

使用方法   在需要使用事務的方法上加注解   @Transactional 什么都不加默認為Propagation.REQUIRED

若想開啟新事務執行自己的事務則可以在方法上加@Transactional(propagation=Propagation.REQUIRES_NEW)

 

2   isolation用來設置事務的隔離級別

     Oracle支持的事務隔離級別為   (默認讀已提交read committed    串行化 serializable 

  •    Mysql支持所有的事務隔離級別  讀未提交  read uncommitted    
  •                                                      讀已提交 read commited
  •                                                      (默認)可重復讀 repeatable  read
  •                                                      串行化 serializable            

 同傳播行為一樣 也是在注解@Transaction()中添加 (isolation=Isolation.DEFAULT) 

例  : 購買圖書時Mysql數據庫默認是可重復讀事務隔離級別  則當數據庫中書價格變的時候查出的價格仍然是變動之前的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM