spring+mybatis事务不回滚

阅读更多
对spring,mybatis进行整合时发现事务不能进行回滚处理,上网查了很多资料依旧还没解释,很多都是说要抛出一个runtimeException才能回滚的,但尝试过多种还不能,代码如下:
applicationContext.xml
        ...
        
	
		
		
		
			
				classpath*:/jdbc.properties				
			
		
		
	
	
	
	
	

	
	
		
		
		
		
		

			
		
		
		
		
			
	
	
	 
            
                 
           
	

	
    
        
        
        
        
        	
        		classpath*:com/myframe/security/mapper/*.xml
        		classpath*:com/topone/**/**/mapper/*.xml
        	
               
    

    
        
    
    
    
        
    
	
	
	
    
        
    
    
      
  	

    ...


BolgService:
@Service
@Transactional(rollbackFor=Exception.class)
public class BlogService {
    @Autowired
    private BlogMapper blogMapper;
    @Autowired
    private BlogflowService blogflowService;
     
    //保存数据
    @Transactional(propagation=Propagation.REQUIRED, isolation=Isolation.READ_COMMITTED, readOnly=true) 
    public String save(Blog entity, Map map) throws Exception{
     ...
      int isok = blogMapper.save(entity); //没发生回滚
      BlogFlow vo = new BlogFlow();
      //get/set方法
      vo.setId();
      ...
      blogflowService.save(vo);         //调用blogflowService保存方法
     ...
    }
}


BolgFlowService:
@Service
@Transactional(rollbackFor=Exception.class)
public class BlogflowService {
    @Autowired
    private BlogMapper blogflowMapper;
     
    //保存数据
    @Transactional(propagation=Propagation.REQUIRED, isolation=Isolation.READ_COMMITTED, readOnly=true) 
    public String save(Blog entity, Map map) throws Exception{
     ...
      entity.setTouserid(null);  //故意设置为null,抛出异常
      int isok = blogflowMapper.save(entity);
     ...
    }
}


查看数据库后,由于bolgFolw设置为null了,抛出异常,所以没有增加到数据库,但bolgService里已经将一条记录添加数据库里了,没有发生回滚事件,请问是那里的设置出问题了呢,如果用编码式来控制的话是可以回滚的。估计应该是配置或代码写得不对的问题,但看了别人的例子,也是这样写的,不明白原因在那里。

另外,我是用*mapper.java这种方式来实现dao层来。

目录路径为:
com
  topone
      approval       
          blog   
             service
             mapper
             contorller
             entity
          blogflow
             service
             mapper
             contorller
             entity


       

你可能感兴趣的:(Spring,iBATIS)