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

Spring数据中IQueryable的等价物

锺离飞尘
2023-03-14

我已经习惯了。NET和LINQtoEntities,尤其是IQueryable部分,它允许在获取结果之前通过不同的函数传递请求。

spring数据中是否存在类似的内容?或者其他java ORM?

private IQueryable<Todo> GetAll(){
  context.Todos.Where(t => !t.Deleted);
}

public IEnumerable<Todo> GetDoneTodos(){
  GetAll().Where(t => t.Done).ToList();
}

共有1个答案

田巴英
2023-03-14

您可以使用Spring Data的QueryDSL集成。基本上,在存储库接口中扩展QueryDSLPredicateExecutor,它添加了一个FindAll方法,该方法获取QueryDSL谓词,并根据该谓词筛选所有结果。假设我们有域对象,例如greeting,那么我们将有如下存储库:

public interface GreetingRepository extends QueryDslPredicateExecutor<Greeting> {}

然后可以使用QueryDSL生成的生成的QModel创建谓词并将其传递给我们的GreetingRepository。假设我们将过滤一个特定用户的所有问候语

Predicate filterByUser = greeting.user.eq(someUser);
greetingRepository.findAll(filterByUser);

greeting是QueryDSL基于我们的greeting模型生成的元模型。

注意3:您可以使用规范实现几乎相同的功能,但在我的opnion中,QueryDSL有更优雅、更易读的谓词

 类似资料:
  • 我是WPF技术的新手。我已经在WinForms开发了大约6年。 现在我想通过学习WPF来提高我的技能一大步。我正在阅读MSDN中的介绍指南,同时作为个人练习,我试图将WinForms UI的sructure转换为其WPF UI的等价物。 这是我想在WPF中重现的WinForms控件结构的简单模型: 我的问题:有人可以指导我或给我一个简短的例子,我如何可以添加一个下拉按钮的东西在工具栏?。

  • 等价 cljs 的数据结构是在 js 基础之上实现的. 数值类型的数据可以直接判断. 一般通过 (= a b) 判断 a 和 b 的内容是否一致. Collection 类型数据除了 = 函数之外, 还可以使用 identical? 函数判断两个数据的引用是否一致. (identical? {} {}) ; true (identical? {:a 1} {:a 1}) ; false (= {:

  • 问题内容: 什么是mySQL 中SQLServer函数SCOPE_IDENTITY()的等效项? 问题答案: 这是您要寻找的: 为了回应OP的评论,我创建了以下基准测试: 返回: 因此,它使用原始表的,而不使用触发器内部的表。 编辑: 经过所有这些时间,我意识到答案中显示的结果是错误的,尽管最后的结论是正确的。我已将结果更新为正确的值。

  • 我尝试使用以下R语句,并使用NumPy将其转换为Python: 有与which()等价的Python吗?这里,x是矩阵tmp中的行,k对应于另一个矩阵中的列数。 之前,我尝试了以下Python代码,并收到一个值错误(操作数无法与形状一起广播):

  • 在Gatling scala中是否有与以下代码相当的java代码?特别是wsAwait类: 这来自使用依赖关系gatling-http-2.3.1的scala项目示例。我和jar在io包中看到了。加特林。http。检查async特性AsyncCheckSupport扩展了AsyncCheckDSL。但这并没有包含在gatling-http-3.7.3中。jar在我的java测试项目中使用。 在最新

  • 我无法设置任何内容:或其他内容,包括和。是否可以从主机访问名称和?似乎无法设置中的变量...请帮我确定我遗漏了什么,提前谢谢