天天看点

方法加@Transactional(propagation = Propagation.REQUIRES_NEW)依旧回滚

@Service
public class TransferServiceImpl {

	@Transactional(propagation = Propagation.REQUIRED)
	public void addTransferOk() {
		saveInterest();
		int i = 1/0;
	}
	
	@Transactional(propagation = Propagation.REQUIRES_NEW)
	public void saveInterest() {
		//更新表操作
	}
	
}

------更新失败
======================================================

@Service
public class TransferServiceImpl {

	@Autowired
	private NewTransactionAssistant newTransactionAssistant;
	
	@Transactional(propagation = Propagation.REQUIRED)
	public void addTransferOk() {
		newTransactionAssistant.saveInterest();
		int i = 1/0;
	}
	
}

@Service
public class NewTransactionAssistant {

	@Transactional(propagation = Propagation.REQUIRES_NEW)
	public void saveInterest() {
		//更新表操作
	}
	
}

------借助第二个实现类,更新成功
======================================================

           
方法加@Transactional(propagation = Propagation.REQUIRES_NEW)依旧回滚