Spring事务在不同类的使用

    技术2022-07-11  73

    同一个service中,被外部调用的方法A如果有事务,则方法A中所有方法均会使用方法A的事务,且子方法的事务失效

    不同一个service中,被外部调用的方法A如果有事务,则方法A中所有方法均会默认使用方法A的事务,如果B有事务,B会使用B的事务

    结论:被外部调用的方法A如果有事务,则方法A中所有方法均会使用方法A的事务,在同类中子方法事务失效,不同类子方法事务生效。新增操作回滚后,Id值已经被增加,不会回滚

    外部方法有@Transactional,内部方法没有 都是用外部方法@Transactional外部方法没@Transactional,内部方法没有 都是单独事务自己创建提交外部方法有@Transactional,内部方法也有 内部方法不是同一个类的@Transactional生效(代理原理决定)外部方法没@Transactional,内部方法有 内部方法@Transactional生效
    Processed: 0.018, SQL: 9