zoukankan      html  css  js  c++  java
  • 事务不起作用 Closing non transactional SqlSession

    In proxy mode (which is the default), only external method calls coming in through the proxy are intercepted. This means that self-invocation, in effect, a method within the target object calling another method of the target object, will not lead to an actual transaction at runtime even if the invoked method is marked with @Transactional.

    spring文档地址 :

    http://docs.spring.io/spring/docs/4.2.0.RC1/spring-framework-reference/htmlsingle/#transaction-declarative-annotations

    说明: 代理模式中,只拦截外部方法调用,开启事务。类内部调用无法实现事务控制。

    错误示例:

    public class Tx {
        
        public void a(){
            b();
        }
        
        @Transactional(propagation = Propagation.REQUIRED)
        public void b(){
            
        }
    
    }

    正确示例:

    public class Tx {
        
        @Transactional(propagation = Propagation.REQUIRED)
        public void a(){
            b();
        }
        
        
        public void b(){
            
        }
    
    }
  • 相关阅读:
    数据库子句
    数据查询的语言
    试图
    Bootstrap 简介及引用方法
    一阶段项目整理
    js 鼠标移入移出
    js 鼠标点击事件
    轮播图
    滚动条 固定导航栏
    三元运算符 DOM找元素
  • 原文地址:https://www.cnblogs.com/zno2/p/4875527.html
Copyright © 2011-2022 走看看