Java Spring JPA从结果中进行查询
我有一张任务表。此表具有特定的适用过滤器。仅当筛选值不为null(即,从前端提供筛选值)时,我才会从表中筛选数据。我无法为每个适用的筛选器编写SQL。所以我想知道是否有任何方法可以保存结果,然后从结果中查询过滤器是否可用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
List filteredTasks=repository.findAll();
如果(过滤器1){
filteredTasks=filteredTasks.filterby(filter1)
}
如果(过滤器2){
filteredTasks=filteredTasks.filterby(filter2)
}
我可以这样做吗?在查询数据库时,应该直接进行筛选 使用JPA实现这一点的一种方法是使用“谓词”和“CriteriaBuilder”(您可以找到一个很好的示例)
另一个可以进行动态查询的非常简单的库是Imhospecifications@user9684181在哪里可以使用谓词和CriteriaBuilder解决它?您提到的方法通常不合适,因为您通常不希望将整个表数据加载到应用程序的内存中,然后进行筛选。如果您想这样做,只需搜索“java流筛选器”来筛选列表中的元素