java - findOne 方法无法使用两个数据源(MySQL 和 MongoDB)进行编译

标签 java mysql spring mongodb spring-boot

我有一个 Spring boot (1.5.6) 应用程序,其中包含一个单独的模块,其中包含将信息保存在 MySQL 数据库中的所有逻辑,到目前为止,一切正常。但尽管如此,在 MongoDB 中存在一个新的要求,需要在 MongoDB 中保存一些文档(json),我添加了对 Spring boot 的 build.gradle 文件的依赖:

编译“org.springframework.boot:spring-boot-starter-data-mongodb”

并且,在单独的模块中,这些依赖项:

编译'org.mongodb:mongo-java-driver:3.8.2' 编译 'org.springframework.data:spring-data-mongodb:2.1.2.RELEASE'

当我尝试构建项目时,扩展 CrudRepository (MySQL) 的类中的所有 findOne 方法都会发生常见异常:

错误:找不到符号findOne

即使没有实现任何 MongoRepository。

关于此错误有什么想法/建议吗? 非常感谢。

最佳答案

我最好的猜测是您不小心将 spring-data 版本升级到较新的版本,这对 Repository 添加了一些重大更改界面。

findOne方法重构为Optional<T> findById(ID primaryKey); 。您可以通过验证提示 findOne 的存储库的天气来检查是否是这种情况。方法公开 findById方法。检查这一点的另一种方法是查看依赖关系树。

来源:spring-data-JPA

关于java - findOne 方法无法使用两个数据源(MySQL 和 MongoDB)进行编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53055733/

相关文章:

java - 如何查找与 NetBeans 捆绑的 Tomcat 版本

java - 无法使用 PowerMock 模拟 java.lang.System#exit(int) 方法

java - 包装方法时编译错误引发异常

python - Windows 上的 mysql 连接器/mysqlclient 和 django 问题

MySQL 具有分层数据的连续行的时间差

java - 在 Spring REST 响应中隐藏/屏蔽 secret 数据

java - spring如何相互调用方法?

java - OCaml 中的经典单例实现

mysql - 如何同步两个具有相同结构和不同服务器的 MySQL 表

java - 尝试构建 Rest 服务时 Spring boot 失败