为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕婉清6462132 2021-12-18 15:29:40
我有一个 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。关于此错误的任何想法/建议?非常感谢。
查看完整描述

2 回答

?
长风秋雁

TA贡献1757条经验 获得超7个赞

我最好的猜测是你不小心将 spring-data 版本提升到更新的版本,这对Repository界面增加了一些破坏性的变化。

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


查看完整回答
反对 回复 2021-12-18
?
慕仙森

TA贡献1827条经验 获得超7个赞

非常感谢你们所有人。事实上,问题在于不兼容的库的混合。我添加了正确的版本,一切正常:)


查看完整回答
反对 回复 2021-12-18
  • 2 回答
  • 0 关注
  • 143 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信