V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
leeton
V2EX  ›  Java

请教一个 springboot 项目更新数据库异常的问题

  •  
  •   leeton · 324 天前 via iPhone · 740 次点击
    这是一个创建于 324 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有一个 update 方法和一个 save 方法,单独执行都没问题,一起执行 update 和 save 就报错。

    但是把他俩调换位置,把 save 放在 update 方法前面就没问题。

    业务上不允许调换位置,因为需要先 update 逻辑删除,再 save 。

    两个方法操作的不是同一个表。

    项目里有用到多数据源,用的 mybatis-plus 。但是这两个表是同一个数据库。

    尝试不加事务控制,也不行。

    指定了 @DS 数据源也不行。

    把 save 方法代码删了,改成直接拼接一个写死的 insert 语句也是一样的错。

    有遇到过的朋友吗

    Cause: java.sql.SQLException: 0

    ; 0; nested exception is java.sql.solException: 0

    at org.springframework.jdbc.supportsstateslexceptionrans Lator.doTranslate(SOLStateSOLExceptionTranslator.java:110)

    at org.springframework.jdbc.support.AbstractFallbacksQLExcepti ionTranslator.translate(AbstractFallbackSQLExceptionTranslatorjava:70)

    at org.springframework.idbc.support.AbstractFallbackso Except LonTranslator.translate

    日志是从图片上 ocr 的,个别字错误。

    xuanjin
        1
    xuanjin  
       324 天前   ❤️ 1
    看起来像是事务导致了数据源配置失效?
    liuzhedash
        2
    liuzhedash  
       324 天前   ❤️ 1
    还是拍个照片好些,最好还有表结构和对应的 update/save 代码
    imv2er
        3
    imv2er  
       324 天前   ❤️ 1
    statcktrace 贴全一些
    附上简化后的代码样例
    leeton
        4
    leeton  
    OP
       323 天前 via iPhone
    @imv2er #3 @liuzhedash #2 @xuanjin #1
    谜底揭晓 mysql-connector 版本太高导致的,从 8.x 换到 5.x 就好了,郁闷两天🤣
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   6231 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 02:36 · PVG 10:36 · LAX 19:36 · JFK 22:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.