必威体育Betway必威体育官网
当前位置:首页 > IT技术

@Transactional 失效总结

时间:2019-09-16 10:11:08来源:IT技术作者:seo实验室小编阅读:60次「手机版」
 

transactional

@transactional底层实现是SpringAOP技术,而SpringAOP技术是动态代理;

1. 静态方法;

2. 非public方法;

3. 自调用方法:即,一个类的一个方法调用自身另外一个方法,如下:

package com.cmb.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import com.cmb.mAPPer.RoleMapper;
import com.cmb.pojo.Role;
import com.cmb.service.roleservice;

@Service
public class RoleServiceImpl implements RoleService {

	@Autowired
	private RoleMapper roleMapper = null;
	
	@Transactional(propagation = Propagation.requires_NEW, isolation = Isolation.READ_COMMITTED)
	public int insertRole(Role role) {
		return roleMapper.insertRole(role);
	}

	@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED)
	public int insertRoleList(List<Role> roleList) {
     
		int count = 0;
		for(Role role : roleList){
			try{
				//调用自身类的方法,产生自调用问题
				count+= insertRole(role);
			}catch(Exception e){
				e.printstacktrace();
			}
		}
		return count;
	}
	
}

其中 ,

//调用自身类的方法,产生自调用问题
				count+= insertRole(role);

会出现此问题。

相关阅读

需要在Transactional注解指定rollbackFor或者在方法中

需要在Transactional注解指定rollbackFor或者在方法中显示的rollback 芥末无疆sss 关注2018.02.14 01:53 字数 842 阅读 39评

关于Spring注解式事务@Transactional的简单描述

一、背景: 目前很多项目的事务处理都是利用Spring的注解式事务实现的(@Transactional)。 在测试事务回滚的过程中发现如下现象: t

@Transactional

@Transactional 概述 @Transactional 是声明式事务管理 编程中使用的注解 添加位置 接口实现类或接口实现方法上,而不是接口类

分享到:

栏目导航

推荐阅读

热门阅读