Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring JPA从结果中进行查询_Java_Spring_Spring Boot_Spring Data Jpa - Fatal编程技术网

Java Spring JPA从结果中进行查询

Java Spring JPA从结果中进行查询,java,spring,spring-boot,spring-data-jpa,Java,Spring,Spring Boot,Spring Data Jpa,我有一张任务表。此表具有特定的适用过滤器。仅当筛选值不为null(即,从前端提供筛选值)时,我才会从表中筛选数据。我无法为每个适用的筛选器编写SQL。所以我想知道是否有任何方法可以保存结果,然后从结果中查询过滤器是否可用 List filteredTasks=repository.findAll(); 如果(过滤器1){ filteredTasks=filteredTasks.filterby(filter1) } 如果(过滤器2){ filteredTasks=filteredTasks.f

我有一张任务表。此表具有特定的适用过滤器。仅当筛选值不为null(即,从前端提供筛选值)时,我才会从表中筛选数据。我无法为每个适用的筛选器编写SQL。所以我想知道是否有任何方法可以保存结果,然后从结果中查询过滤器是否可用


List filteredTasks=repository.findAll();
如果(过滤器1){
filteredTasks=filteredTasks.filterby(filter1)
}
如果(过滤器2){
filteredTasks=filteredTasks.filterby(filter2)
}

我可以这样做吗?

在查询数据库时,应该直接进行筛选

使用JPA实现这一点的一种方法是使用“谓词”和“CriteriaBuilder”(您可以找到一个很好的示例)


另一个可以进行动态查询的非常简单的库是

Imhospecifications@user9684181在哪里可以使用谓词和CriteriaBuilder解决它?您提到的方法通常不合适,因为您通常不希望将整个表数据加载到应用程序的内存中,然后进行筛选。如果您想这样做,只需搜索“java流筛选器”来筛选列表中的元素