Spring Data JPA - 如何根据字段值过滤返回的数据?

Spring Data JPA - how to filter returned data based on a fields values?

我想知道如何过滤 Spring JPA 中返回给我的数据。

我知道使用 Spring JDBC,我可以完全控制并且基本上可以编写如下查询:

SELECT * FROM CAR 
WHERE ACCIDENT_DATE IS NULL 
  OR BUY_DATE >= CURRENT_DATE 
ORDER BY CAR_NUMBER

但是,使用 Spring JPA,我们不编写查询,而是编写像

这样的实体
@Entity
@Table(name = "CAR", schema = "MY_SCHEMA")
public class Car {
   @Id
   public Long carNumber;
   ...
}

如何根据天气过滤返回哪些汽车

,由 CAR_NUMBER 在 Spring JPA 中排序?

在@DirkDayne 的帮助下,想出了如何做到这一点。谢谢德克

@Query("select c from CarEntity c where c.accidentDate is null or c.buyDate >= CURRENT_DATE")
List<CarEntity> getAllAvailableCars(Sort sort);

,然后在服务中调用它:

List<CarEntity> cars= (List<CarEntity>) carRepository.getAllAvailableCars(Sort.by("carNumber"));