我扩展了MongoRepository并希望使用Stream API。作为引用,我声明了一个查询方法:
public Stream<MyType> findByIdIn(Iterable<? extends String> myTypeIds);
但是,在启动Spring Boot应用程序时,会引发PropertyNotFoundException
声明:
找不到类型Stream的属性ID!
我的域类型派生自包含MongoDB对象的实际ID的超类型。任何想法如何解决这个问题?
我正在使用Spring Boot 1.2.0.RELEASE和Spring Data MongoDB 1.6.1.RELEASE。
答案 0 :(得分:2)
在Spring Data MongoDB 1.7版as per the release notes中添加了对Stream
作为返回类型的支持:
Spring Data MongoDB 1.7中的新功能
...
- 允许
Stream
作为查询方法返回类型
因此,您需要从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>