java - 尝试将 spring data mongo 存储库与 Stream 一起使用时出现异常

标签 java spring spring-boot spring-data-mongodb

我扩展了 MongoRepository 并想使用 Stream API。根据引用,我声明了一个查询方法:

public Stream<MyType> findByIdIn(Iterable<? extends String> myTypeIds);

但是,当启动我的 Spring Boot 应用程序时,会抛出 PropertyNotFoundException 并指出:

No property id found for type Stream!

我的域类型派生自包含 MongoDB 对象实际 ID 的父类(super class)型。有什么想法可以解决这个问题吗?

我正在使用 Spring Boot 1.2.0.RELEASE 和 Spring Data MongoDB 1.6.1.RELEASE。

最佳答案

Spring Data MongoDB 版本 1.7 中添加了对 Stream 作为返回类型的支持,as per the release notes :

What’s new in Spring Data MongoDB 1.7

...

  • Allow Stream as query method return type

因此,您需要从 1.6.1.RELEASE 至少更新到版本 1.7。如果您使用Maven,则可以为当前最新版本(1.8.2.RELEASE)添加以下依赖项:

<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-mongodb</artifactId>
    <version>1.8.2.RELEASE</version>
</dependency>

关于java - 尝试将 spring data mongo 存储库与 Stream 一起使用时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35320322/

相关文章:

java - 将 Appengine 应用程序从旧的 Google 插件迁移到 Google 工具时如何修复错误?

java - Android Bottomsheet对话框如何设置下边距

java - 无法通过 spring-boot 应用程序访问 Angular 页面

spring - 如何使用响应式(Reactive)单声道环绕一系列非阻塞操作?

Java Swing-更改按下的按钮的图标

Java 未报告的异常

java - 是否可以在 Spring Repository @Query 注释中动态设置模式?

java - 使用 xml 配置来休息 Spring bean

java - 如果/否则在 thymeleaf 中

spring-boot - 无法在 React-native 中使用 127.0.0.1 从获取请求中获取响应