来自结果的JavaSpringJPA查询
我有一张任务表。此表具有特定的适用过滤器。仅当筛选值不为null(即,从前端提供筛选值)时,我才会从表中筛选数据。我无法为每个适用的筛选器编写SQL。所以我想知道是否有任何方法可以保存结果,然后从结果中查询过滤器是否可用
List<Task> filteredTasks = repository.findAll();
if (filter_1){
filteredTasks = filteredTasks.filterby(filter1)
}
if (filter_2){
filteredTasks = filteredTasks.filterby(filter2)
}
我可以这样做吗
# 1 楼答案
在查询数据库时,应该直接进行筛选
使用JPA实现这一点的一种方法是使用“谓词”和“CriteriaBuilder”(你可以找到一个很好的例子here)
另一个可以进行动态查询的非常简单的库是Jooq