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



我有一个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

非常感谢大家。事实上,问题在于不兼容库的混合。我添加了正确的版本,一切都很好:(

最新更新