zoukankan      html  css  js  c++  java
  • 事务使用规范

     

    模式 Dao Service Control servcie异常 control抛异常 期望 结果 
    单表模式 只读 / / / / 无法写入 无法写入
    只读 写事务 / / / 写入 写入
    只读 写事务 / / 回滚 回滚
    只读 写事务 / / 回滚 回滚失败,数据写入成功
    只读 / 写事务 / / 写入 写入
    只读 / 写事务 / 回滚 回滚
    只读 / 写事务 / 回滚 回滚
    只读 写事务 读事务 / / 写入 以Control读事务为准,无法写入
    只读 读事务 写事务 / / 写入 以Control写事务为准,写入成功
    模式 Dao Service Control servcie异常 control抛异常 期望 结果 
    双表,
    双service,
    单control方法
    只读 / / / / 无法写入 无法写入
    只读 A,B 写事务 / / / 都写入 都写入
    只读 A,B 写事务 / A 异常,B,正常 / 都回滚 A回滚, B写入
    只读 A,B 写事务 / A,B 均异常 / 都回滚 都回滚
    只读 / 写事务 / / 写入 写入
    只读 / 写事务 A 异常,B,正常 / 都回滚 都回滚
    只读 / 写事务 A,B 均异常 / 都回滚 都回滚
    模式 Dao Service Control servcie异常 control抛异常 期望 结果 
    双表,
    双service,
    A,B,C 三control方法
    C 执行A,B方法
    只读 / / / / 无法写入 无法写入
    只读 / A,B,C 均写事务 / / 都写入 都写入
    只读   A,B,C 均写事务 A 异常,B,正常 / 都回滚 都回滚
    只读   A,B,C 均写事务 A,B 均异常 / 都回滚 都回滚
    只读 / A,B写事务,C无事务 / / 都写入 无法写入
    只读 / C事务,A,B无事务 / / 都写入 都写入
    只读 / C事务,A,B无事务 A 异常,B,正常 / 都回滚 都回滚
    只读 / C事务,A,B无事务 A,B 均异常 / 都回滚 都回滚
    只读 / C事务,A,B无事务 / A 异常,B,正常 都回滚 都回滚
    只读 / C事务,A,B无事务 / A,B 均异常 都回滚 都回滚
    结论 1,事务注解的解析路径为:先找方法级,在找类定义级,在找父类定义
    2,多事务嵌套,以最外层事务为准
    3,事务的正确用法为,在类似control,facade等对外的最外层套上事务,service等中间过程不使用事务,dao层设置全部只读
    4,最外层只要有涉及写操作,都必须套上写事务
  • 相关阅读:
    Linux提供哪些功能
    C++——重载原理分析
    C++——多维数组动态开辟与释放
    C++——异常处理
    C++——流类库和输入/输出
    C++——virtual function
    C++——虚函数表解析
    C++——多态实现原理分析
    Python基础——__name__变量
    DNS服务——智能域名解析、镜像Web站点、直接域名泛域名
  • 原文地址:https://www.cnblogs.com/zyguo/p/14297817.html
Copyright © 2011-2022 走看看