我有一个Spring引导(1.5.6(应用程序,其中包括一个单独的模块,该模块具有在MySQL数据库中保存信息的所有逻辑,到目前为止,一切都很好。但是,尽管如此,在MongoDB中仍然存在一些文档(json(的新需求,我添加了对Spring引导的build.gradle文件的依赖:
编译"org.springframework.boot:spring-boot starter data mongodb">
在单独的模块中,这些依赖关系:
编译"org.mongodb:mongojava驱动程序:3.8.2"编译"org.springframework.data:spring data mongodb:2.1.2.RELEASE">
当我试图构建我的项目时,扩展CrudRepository(MySQL(的类中的所有findOne方法都会发生一个常见的异常:
错误:找不到符号findOne
即使没有实现任何MongoRepository。
关于这个错误有什么想法/建议吗?非常感谢。
我的最佳猜测是您意外地将spring数据版本升级到了一个新版本,该版本为Repository
接口添加了一些突破性的更改。
将findOne
方法重构为Optional<T> findById(ID primaryKey);
方法。您可以通过验证抱怨findOne
方法的存储库是否公开了findById
方法来检查是否存在这种情况。另一种检查方法是查看依赖关系树。
来源:春季数据JPA
非常感谢大家。事实上,问题在于不兼容库的混合。我添加了正确的版本,一切都很好:(