当前位置: 首页 > 知识库问答 >
问题:

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

令狐增
2023-03-14

我正在使用spring数据,并拥有一个扩展JPararePository和QueryDSLPredicateExecutor的存储库。我通过调用可迭代的findAll(谓词p)方法从存储库中获得一个实体列表。我想知道,有没有可能获得从存储库返回的流作为参数传入querydsl谓词?

共有1个答案

尹俊贤
2023-03-14

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

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()....
 类似资料:
  • 我需要@query的原因是应用基于身份验证主体的安全性。 存储库的完整代码:

  • 此示例存储库有一个方法 现在不需要使用Robolectric来单元测试了吗?

  • 我创建了一个GraphQL模式,其中有25个最流行的列作为可查询字段。我想添加一个泛型的“field”输入类型,它由一个名称(db列名+“_”+操作(如gte、gt、contains等)和一个值(用户正在搜索的值)组成。 因此,当用户(在GraphiQL中)输入类似(字段:{name:“age_gt”,值:“50”})作为GraphQL查询的搜索输入时,我可以得到:“age>50”。 所有这些都很

  • 问题内容: MySql存储过程/函数可以在不使用临时表的情况下返回表吗? 创建以下过程 然后用 显示示例表-正如预期的那样-但似乎无法进行以下操作: 是否可以从存储过程/函数中返回查询结果表,如果可以,怎么办? 问题答案: 就目前而言,这是不可能的。 以下是该子句中可能使用的 文档: 如您所见,存储过程不在此列表中。

  • 环境是Java、Spring-boot、Hibernat、QueryDSL、MySQL。 我有表结构 艾碧索 更新 为了澄清起见,支持UI视图的DTO包含“casename”属性。它是在将域对象转换为DTO时在服务层创建的:

  • 我在应用程序中使用Querydsl来大大改进查询数据库的代码。但是,我有一个来自外部服务的JPA谓词(javax.persistence.criteria.Predicate)。我想混合使用Querydsl和外部谓词创建的查询。例如: 另一个解决方案是将Querydsl谓词转换为JPA谓词: 有可能吗?如果是,我如何做到这一点?如果没有,是否有其他混合谓词的解决方案(比如将两者转换为SQL字符串并