首页 > 解决方案 > 使用对象作为主要条件时,如何在选择之间使用 SpringData findAll()?

问题描述

所以 SpringData 里面有一个方法findAll(Pageable pageable,Condition condition) ;,一般我都是用findAll(pageable,myobject).

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

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

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

标签: springspring-bootspring-data-jpaspring-datajpql

解决方案


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

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

这里简单的例子应该如何使用:

JPA 规范示例


推荐阅读