You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SpringBoot集成YugabyteDB时出现方法不存在异常求助

SpringBoot集成YugabyteDB时方法不存在异常的解决办法

这是典型的依赖版本不兼容问题:你使用的spring-data-yugabytedb-ysql:2.3.0依赖的Spring Data JDBC版本,和项目实际引入的spring-data-jdbc:2.4.2不匹配,导致DefaultYsqlDataAccessStrategy初始化时找不到目标构造方法。

问题细节

DefaultYsqlDataAccessStrategy(来自spring-data-yugabytedb-ysql 2.3.0)在初始化时,尝试调用DefaultDataAccessStrategy的4参数构造方法,但spring-data-jdbc 2.4.2版本中该构造方法已被修改或移除,因此抛出方法不存在异常。

解决方案

  1. 降级Spring Data JDBC版本:根据版本适配规则,spring-data-yugabytedb-ysql:2.3.0对应Spring Data JDBC 2.3.x系列,将项目中spring-data-jdbc的版本调整为2.3.x(比如2.3.5)。
  2. 升级Spring Data YugabyteDB版本:查找YugabyteDB官方发布说明,选择支持Spring Data JDBC 2.4.2的spring-data-yugabytedb-ysql版本进行升级。

异常详情

描述:尝试调用不存在的方法

调用发起位置:

com.yugabyte.data.jdbc.core.convert.DefaultYsqlDataAccessStrategy.<init>(DefaultYsqlDataAccessStrategy.java:49)

不存在的方法:

'void org.springframework.data.jdbc.core.convert.DefaultDataAccessStrategy.<init>(org.springframework.data.jdbc.core.convert.SqlGeneratorSource, org.springframework.data.relational.core.mapping.RelationalMappingContext, org.springframework.data.jdbc.core.convert.JdbcConverter, org.springframework.jdbc.core.namedparam.NamedParameterJdbcOperations)'

调用类加载路径:

jar:file:/Users/shubhankar.ghosh/.m2/repository/com/yugabyte/spring-data-yugabytedb-ysql/2.3.0/spring-data-yugabytedb-ysql-2.3.0.jar!/com/yugabyte/data/jdbc/core/convert/DefaultYsqlDataAccessStrategy.class

被调用类可用路径:

jar:file:/Users/shubhankar.ghosh/.m2/repository/org/springframework/data/spring-data-jdbc/2.4.2/spring-data-jdbc-2.4.2.jar!/org/springframework/data/jdbc/core/convert/DefaultDataAccessStrategy.class

内容的提问来源于stack exchange,提问作者Shubhankar Ghosh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 12:15:44