我有一个Spring boot(1.5.6)应用程序,其中包括一个单独的模块,其中具有将信息持久保存在MySQL数据库中的所有逻辑,到目前为止,一切正常。但是,尽管如此,对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。
有关此错误的任何想法/建议吗? 非常感谢。
答案 0 :(得分:0)
我最好的猜测是您不小心将spring-data版本提高到了一个新版本,该版本在Repository
界面中添加了一些重大更改。
findOne
方法已重构为Optional<T> findById(ID primaryKey);
。您可以通过验证天气来检查是否存在这种情况,抱怨findOne
方法的存储库会公开findById
方法。另一种检查方法是查看依赖关系树。
答案 1 :(得分:0)
非常感谢大家。确实,问题在于不兼容的库的混合。我添加了正确的版本,并且一切正常:)