我可以使用querydsl谓词参数从spring jpa存储库返回Stream

时间:2016-04-20 10:02:16

标签: spring-data spring-data-jpa querydsl

我正在使用spring数据,并且有一个扩展JpaRepository和QueryDslPredicateExecutor的存储库。我通过调用Iterable findAll(Predicate p)方法从存储库中获取实体列表。我想知道,是否有可能从存储库返回一个传递querydsl谓词作为参数的流?

2 个答案:

答案 0 :(得分:0)

我认为现在不可能。请检查此问题:https://jira.spring.io/browse/DATACMNS-704

答案 1 :(得分:0)

https://github.com/spring-projects/spring-data-commons/issues/1169#issuecomment-752400977中所述,您可以声明自己的返回List<...>

的方法
import java.util.List;

import org.bson.types.ObjectId;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.data.querydsl.QuerydslPredicateExecutor;
import org.springframework.stereotype.Repository;

import com.querydsl.core.types.Predicate;

@Repository
public interface MyEntityRepository extends MongoRepository<MyEntity, ObjectId>, QuerydslPredicateExecutor<MyEntity> {

  List<MyEntity> findAll(Predicate predicate);
}

然后简单

myEntityRepository.findAll(myPredicate).stream()....