參考來源: Transaction Management
* 使用預設的Proxy mode時, @Transactional 只能用在 public method 上. 除非改用 AspectJ mode.
* Spring 不建議 @Transactional 用於 interface 上. (除非你使用 interface-based proxy )
* 預設只有在發生 Unchecked Exception 時才會自動 rollback, 可以指定Exception來Rollback.
ex @Transactional(rollbackFor=Exception.class)
* TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); 可以手動rollback
* eclipse 似乎無法 auto import Annotation 中的變數, 當使用 Propagation 時會出現 Propagation cannot be resolved to a variable 的錯誤, 手動 import org.springframework.transaction.annotation.Propagation; 即可.
沒有留言:
張貼留言