使用对象作为主要条件时如何在选择之间使用 SpringData findAll()?

Posted

技术标签:

【中文标题】使用对象作为主要条件时如何在选择之间使用 SpringData findAll()?【英文标题】:how to use SpringData findAll() between select when using an object as major condition? 【发布时间】:2019-01-04 12:29:40 【问题描述】:

所以SpringData中有一个方法findAll(Pageable pageable,Condition condition) ;, 通常我会像findAll(pageable,myobject) 一样使用它。

问题是在选择某个字段范围内的一些记录时,比如选择createDate在A和B之间的对象,如何使用findAll()

我试过findAllByCreateDateAfterAndCreateDateBefore(Pageable pageable,Date a,Date b);

但是这里我不能将myObj作为条件放入方法中,当myObj中的某些字段不确定是否将其用作条件时会造成很多麻烦。

【问题讨论】:

你能发布你的实体类吗? 【参考方案1】:

您可以简单地使用 JPA 规范来执行此操作,然后:

fun findAll(spec: Specification<YourObject>, pageable: Pageable): Page<YourObject>

这里是如何使用的简单示例:

JPA Specification example

【讨论】:

谢谢,但是springdata中有什么方法会更方便吗? 规范非常方便,威力巨大。您几乎可以定义所有内容。如果我的回答适合您的问题,请投票或接受。

以上是关于使用对象作为主要条件时如何在选择之间使用 SpringData findAll()?的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress ACF 选择:动态使用类别作为选择时仅返回第一个对象

如何:使用条件自定义背景视图作为背景修饰符?

工厂模式

使用 LINQ 作为 DAL 时如何传输数据?

sql 中 timestamp 类型的时间 作为条件 如何进行查询

设计模式—工厂模式