我想通过case语句进行ORDER BY,是否可以使用Spring Data JPA? Spring Data JPA提供org.springframework.data.domain.Sort.Sort来处理排序,但它不包含任何按行事处理的函数。
答案 0 :(得分:1)
您可以使用JpaSort.unsafe()对任意JPA ORDER-BY 表达式进行排序:
String orderBy = "CASE WHEN TblList.PinRequestCount <> 0 THEN TblList.PinRequestCount END";
Sort sort = JpaSort.unsafe(Sort.Direction.DESC, orderBy);
答案 1 :(得分:-2)
是的可能
见org/springframework/data/domain/Sort.class
并插入代码
yourRepository.findByAnyting(
new Sort(new Sort.Order(Sort.Direction.DESC, "property"))
);