使用对象作为主要条件时如何在选择之间使用 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()?的主要内容,如果未能解决你的问题,请参考以下文章