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(" ")