繁体   English   中英

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

[英]findOne method doesn't compile with two data sources (MySQL and MongoDB)

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

对这个错误有任何想法/建议吗? 非常感谢。

我最好的猜测是您不小心将spring-data版本升级到了较新的版本,从而对Repository界面进行了一些重大更改。

findOne方法重构为Optional<T> findById(ID primaryKey); 您可以通过验证天气来检查是否是这种情况,抱怨findOne方法的存储库会公开findById方法。 检查此问题的另一种方法是查看依赖关系树。

资料来源: spring-data-JPA

非常感谢大家。 确实,问题在于不兼容的库的混合。 我添加了正确的版本,并且一切正常:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM