Spring data jpa,这个例子中如何过滤然后排序结果?
Spring data jpa, how to filter and then sort results in this example?
我写了一个方法,但是正如你所看到的 - 这里的类别从未被使用过。
是否可以只找到类别与定义相同的菜肴,并且仅在它之后 - 使用纯 Spring 数据 jpa 按参数排序?
或者唯一的方法是自定义查询?
public List<Dish> findAllDishesSorted(String sortField, String sortDirection, String category) {
Sort sort = sortDirection.equalsIgnoreCase(Sort.Direction.ASC.name())
? Sort.by(sortField).ascending() : Sort.by(sortField).descending();
return dishRepository.findAll(sort);
}
您可以将如下所示的方法添加到您的 DishRepository
,它应该能够实现这一点,而无需使用 @Query()
注释
编写自定义查询
public interface DishRepository extends CrudRepository<Dish, Long> {
Dish findByCategory(String category, Sort sort);
}
我写了一个方法,但是正如你所看到的 - 这里的类别从未被使用过。
是否可以只找到类别与定义相同的菜肴,并且仅在它之后 - 使用纯 Spring 数据 jpa 按参数排序? 或者唯一的方法是自定义查询?
public List<Dish> findAllDishesSorted(String sortField, String sortDirection, String category) {
Sort sort = sortDirection.equalsIgnoreCase(Sort.Direction.ASC.name())
? Sort.by(sortField).ascending() : Sort.by(sortField).descending();
return dishRepository.findAll(sort);
}
您可以将如下所示的方法添加到您的 DishRepository
,它应该能够实现这一点,而无需使用 @Query()
注释
public interface DishRepository extends CrudRepository<Dish, Long> {
Dish findByCategory(String category, Sort sort);
}