我有一个 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
方法。检查这一点的另一种方法是查看依赖关系树。
关于java - findOne 方法无法使用两个数据源(MySQL 和 MongoDB)进行编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53055733/