我写了一个方法,但正如您所看到的,这里从未使用过Category。
是否可以只在Category与定义相同的地方找到Dishes,并且只在它之后——使用纯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);
}