service层中数据异常时回滚

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了service层中数据异常时回滚相关的知识,希望对你有一定的参考价值。

/**删除
	 * @param pd
	 * @throws Exception
	 */
	@Transactional(rollbackFor = Exception.class)
	@Override
	public void delete(String INCOMINGDISPATCHDOCId)throws Exception{
		// 删除文件附件
		fileService.deleteByBusId(INCOMINGDISPATCHDOCId);
		dao.delete("IncomingDispatchDocMapper.delete", INCOMINGDISPATCHDOCId);
	}

只要我们在service层中的方法上添加一个

@Transactional(rollbackFor = Exception.class)

注解,那么在程序发生异常的时候就能够进行回滚。

一般我们在一个方法中有两次对数据库进行了操作都需要考虑回滚。

本文出自 “JianBo” 博客,请务必保留此出处http://jianboli.blog.51cto.com/12075002/1950442

以上是关于service层中数据异常时回滚的主要内容,如果未能解决你的问题,请参考以下文章

hibernate配置事务,运用在service层,那么在serviceImpl中的异常要怎么处理?

我在service层中的一个方法,调用dao层中三个方法怎么保证这三个方法事务统一

Service中事务不能回滚的解决方式(转)

spring 声明式事务管理在真实的Service和单元测试时的回滚情况,需要注意的问题,jpa为例子

知识点:事务手动回滚方式

spring事物回滚机制 (事务异常回滚,捕获异常不抛出就不会回滚)