spring注解事務【转】

4044 ワード


1  @Transactional       public   ,      public   ,     @Transactional     ,         . 
2      ,       ,   RuntiomeException      .
                  .          ,    
@Transactional( rollbackFor={Exception.class,    }) . 


@Transactional           : 
             
propagation Propagation   REQUIRED        (    ) 
isolation isolation   DEFAULT        (    ) 
readOnly boolean false      
timeout int -1   ( ) 
rollbackFor Class[] {}          
rollbackForClassName String[] {}           
noRollbackFor Class[] {}           
noRollbackForClassName String[] {}            
             : 
    spring   : org.springframework.transaction.annotation.Isolation 
(  ,  org.springframework.transaction.annotation.Isolation,  Transactional     isolation = Isolation.DEFAULT) 
  "    "            ,     . 
DEFAULT             
READ_UNCOMMITTED   "    "     
READ_COMMITTED   "    "     
REPEATABLE_READ   "    "     
SERIALIZABLE    "    "     


        ,      
    spring   : org.springframework.transaction.annotation.Propagation 
(  ,  org.springframework.transaction.annotation.Propagation,  Transactional     propagation = Propagation.REQUIRED) 
REQUIRED               ,       ,        ,        ,            .  spring       . 
SUPPORTS                  ,            ,               ,              . 
MANDATORY              ,             ,                 ,     
REQUIRES_NEW                   ,             ,        ,       ,      ,      ,           . 
NOT_SUPPORTED         ,             ,          .             ,       ,        ,           . 
NEVER                 ,              ,      .        ,     . 
NESTED            ,            .         ,  REQUIRED    .           ,                 .                 ,    DataSourceTransactionManager        . 
view plaincopy to clipboardprint? 
//        
    @Transactional(propagation=Propagation.REQUIRED) //     ,      ,        (      )  
    @Transactional(propagation=Propagation.NOT_SUPPORTED) //              
    @Transactional(propagation=Propagation.REQUIRES_NEW) //        ,         ,     ,      ,          
    @Transactional(propagation=Propagation.MANDATORY) //             ,        
    @Transactional(propagation=Propagation.NEVER) //             ,      ( Propagation.MANDATORY  )  
    @Transactional(propagation=Propagation.SUPPORTS) //    bean      ,   bean     ,     .    bean      ,      .  
    @Transactional(propagation=Propagation.NESTED)   
    @Transactional (propagation = Propagation.REQUIRED,readOnly=true) //readOnly=true  ,    ,    
    @Transactional (propagation = Propagation.REQUIRED,timeout=30)//         
    @Transactional (propagation = Propagation.REQUIRED,isolation=Isolation.DEFAULT)//          
//       
    @Transactional(propagation=Propagation.REQUIRED) //     ,      ,        (      ) 
    @Transactional(propagation=Propagation.NOT_SUPPORTED) //             
    @Transactional(propagation=Propagation.REQUIRES_NEW) //        ,         ,     ,      ,         
    @Transactional(propagation=Propagation.MANDATORY) //             ,       
    @Transactional(propagation=Propagation.NEVER) //             ,      ( Propagation.MANDATORY  ) 
    @Transactional(propagation=Propagation.SUPPORTS) //    bean      ,   bean     ,     .    bean      ,      . 
@Transactional(propagation=Propagation.NESTED) 
    @Transactional (propagation = Propagation.REQUIRED,readOnly=true) //readOnly=true  ,    ,   
    @Transactional (propagation = Propagation.REQUIRED,timeout=30)//       
    @Transactional (propagation = Propagation.REQUIRED,isolation=Isolation.DEFAULT)//          
  spring      , spring         ,  ,  . 
         (throw new RuntimeException("  ")