出现这个错误的原因是事务双重回滚了。
模块间的相互调用时,被调用的模块有事务提交,在报错之后事务回滚,返回错误信息,
调用模块收到被调用模块的错误信息再一次进行事务回滚。
解决方法:在调用模块方法上挂起事务,不回滚事务
@Transactional(propagation = Propagation.NOT_SUPPORTED )


查询数据后对entity进行修改,数据库对应字段会自动更新。
解决方法如下:

  1. 使用BeanUtils
    new一个新实体,将查询出来的实体复制给新实体,修改之后返回新实体对象。
    BeanUtils.copyProperties(entity,newEntity);
  2. 使用@Transactional注解
    在Dao层对应方法使用该注解,表示以非事务方式执行操作,如果当前存在事务,就把当前事务挂起(只查询)。
    @Transactional(propagation=Propagation.NOT_SUPPORTED)

Transaction silently rolled back because it has been marked as rollback-only相关推荐

  1. saveOrUpdate Transaction silently rolled back because it has been marked as rollback-only

    天坑 先说说我为什么报这个bug吧: 经过多次测试,是因为session调用saveOrUpdate方法的时候id的值传错然后就有下面的异常: org.springframework.transact ...

  2. Java Transaction silently rolled back because it has been marked as rollback-only问题解决

    问题描述: org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because i ...

  3. Transaction silently rolled back because it has been marked as rollback-only Spring事务嵌套问题

    A和B都有事务,A调用B,B中抛出了异常,A这边捕获B的异常,但是没有将异常抛出,导致A方法执行结束时,提交事务,出现了上述的错误. 同一个类,内部方法调用不走代理,spring基于注解的事务是基于代 ...

  4. 解决org.springframework.transaction.UnexpectedRollbackException: Transaction silently rolled back beca

    文章目录 1. 复现错误 2. 分析错误 3. 分析spring的事务机制 3.1 入口程序 3.2 事务管理的主方法 3.3 细究各对象的获取 4. functionTwo方法抛异常后的回滚操作 5 ...

  5. Transaction has been rolled back because it has been marked as rollback

    框架采用的是spring管理声明式事务,这几天业务开发时遇到了点麻烦,记录下备忘. 场景:在Service类中使用子事务(saveponit)时,当子事务抛出异常后,此异常处理掉不继续往外抛,spri ...

  6. Transaction rolled back because it has been marked as rollback-only分析解决方法

    Transaction rolled back because it has been marked as rollback-only分析解决方法 参考文章: (1)Transaction rolle ...

  7. Spring事务 Transaction rolled back because it has been marked as rollback-only

    前言 使用Spring事务时,出现异常:org.springframework.transaction.UnexpectedRollbackException: Transaction rolled ...

  8. Transaction rolled back because it has been marked as rollback-only

    http://hsyd.iteye.com/blog/586772 错误信息: Transaction rolled back because it has been marked as rollba ...

  9. “Transaction rolled back because it has been marked as rollback-only”

    spring的声明事务提供了强大功能,让我们把业务关注和非业务关注的东西又分离开了.好东西的使用,总是需要有代价的.使用声明事务的时候,一 个不小心经常会碰到"Transaction rol ...

最新文章

  1. 【复盘】小朋友的奇思妙想
  2. 2017年4月25日(日志库glog)
  3. 存储 萤石云_同时用过小米米家智能猫眼(带屏)与萤石dp1s智能门铃之后的感受...
  4. combobox 属性、事件、方法
  5. UML中对关系的描述
  6. 各种泵的图形符号_液压泵以及液压马达的常见图形符号
  7. Android FFmpeg集成
  8. Python模拟简易版淘宝客服机器人
  9. 保险核保、理赔|门诊住院发票识别||医疗单据医疗票据识别技术
  10. uwsgi graceful reload
  11. 家谱处理(30 分)(字符串的处理substr)
  12. 10Redis--主从复制 非常重要、一主二仆、薪火相传、反客为主、哨兵模式
  13. STM32CubeMX和keil实现led灯的点亮
  14. DQN-[Playing Atari with Deep Reinforcement Learning]
  15. html中通过url地址传参及获取参数解析方法
  16. python 凸多边形面积
  17. 《涨知识啦30》-太阳能电池基本工作原理
  18. 一个基于HTML的可定制轮盘——帮你告别选择困难症
  19. 热带雨林的昆虫繁殖题解
  20. video控制条在部分浏览器禁止显示“下载”-解决方法

热门文章

  1. 游戏开发图书推荐--我读过的技术经典图书
  2. centos7查看进程ps_Linux ps命令:查看所有进程信息
  3. vue-cli快速构建vue项目和本地模拟请求数据
  4. 第六篇 | C语言中将键盘输入的两个整数进行交换
  5. 【数学】丑数II 和 超级丑数
  6. 移动端跨平台开发Flutter 与 React Native对比
  7. QUST日常训练(1)北极熊和大象
  8. onecore\com\combase\dcomrem\channelb.cxx(6563)\combase.dll!76A59D9F: (caller: 75A95B54) ReturnHr(1)
  9. 华为8xmax升级鸿蒙系统,华为新系统发布在即,35款机型率先体验,看看你的手机在其中吗...
  10. vue过滤器如何使用