JPA+Scheduled+Transactional 保存数据save或者update没有相关SQL打印

本文主要探讨了在JPA+Scheduled+SpringBoot应用中,定时任务中save操作没有SQL日志打印的问题。分析了事务注解@Transactional不生效的原因,可能与事务管理器配置不一致有关。解决方案包括修改源码统一事务管理器,或明确指定JPA事务管理器。强调了开启SQL日志打印和设置日志级别为debug的重要性。
摘要由CSDN通过智能技术生成

JPA+Scheduled+SpringBoot 保存数据save没有相关SQL打印

Controller层调用有insert SQL日志打印,在定时任务中,没有insert SQL日志打印!

save 前后日志打印均正常!repository.save丝毫没有任何作用!!!

相同版本的SpringBoot和jpa,重新创建不依赖其他jar或者第三方的jar,未能重现此问题。

项目里使用的是,mapper解决的此问题,今天特意查找资料并进行处理了此问题!以下处理仅供参考!

问题现象:

JPA事务注解不生效,scheduled定时任务中没有insert SQL日志打印。

controller层调用,有insert SQL日志打印。

问题定位分析:

  1. 加了Transactional注解,方法里调用save()无错误打印且无insert语句日志。

2.执行saveAndFlus(),有错误,报org.springframework.dao.InvalidDataAccessApiUsageException: no transaction is in progress; nested exception is javax.persistence.TransactionRequiredException: no transaction is in progress

由此可以确定,当前方法执行确实没有被事务管理器管理起来!

  1. 确定注解Transactional没有与对应的事务管理器保持一致
  2. 启动类打印当前使用的事务管理器࿰
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值