• 辰砂
    2021-06-04
    @Transactional(rollbackFor = Exception.class, noRollbackFor = RuntimeException.class)
    
    26
  • 陈汤姆
    2021-06-15
    学到了,一直以为注解只能对public生效是因为动态代理的原因!
    共 4 条评论
    2
  • LkS
    2021-06-04
    可以使用noRollbackFor @Transactional(rollbackFor = Exception.class,noRollbackFor = RuntimeException.class)
    
    2
  • study的程序员
    2022-11-18 来自上海
    事务层面默认 publicMethodsOnly=true,所以private或者protected都不生效 强行设置 publicMethodsOnly=false: @Bean @Primary @Role(BeanDefinition.ROLE_INFRASTRUCTURE) public TransactionAttributeSource mytransactionAttributeSource() { return new AnnotationTransactionAttributeSource(false); } 之后protected生效,private不生效,aop不能代理private方法/final方法,所以不调用target的方法,所以spring注入的对象为null,所以会报NPE,studentMapper为空
    
    1
  • 安迪密恩
    2022-03-11
    我觉得可以把注解加在 saveStudent 这个方法上,要更自然一些。
    
    1
  • qchang
    2021-06-04
    思考题:一种是try-catch判断异常类型后,非RuntimeException抛出;另一种可以采用注解@Transactional(noRollbackFor = RuntimeException.class)
    
    1
  • 大胖子
    2023-04-24 来自北京
    讲的非常清晰
    
    
  • 雨落~紫竹
    2022-06-22
    其实就分2类 一类配置问题 一类代理问题
    
    
  • Monday
    2021-07-19
    案例2中,进入doSaveStudent()方法后,抛NPE(studentMapper==null 为true)
    
    
  • TANMIYOO
    2021-06-04
    @Transactional(rollbackFor = Exception.class, noRollbackFor = RuntimeException.class)
    
    