Spring Data JPA - 首先按枚举查找并按日期排序

Spring Data JPA - find first by enum and order by date

目标是检索给定 UAI(枚举)的最后一个实体。不确定在 Spring Data JPA 中执行此操作的最佳方法是什么,这是我尝试过的方法(不工作)

我的实体

public class AdmisHistory {
    // stuffs (id etc..)

    private Date jobExecutionDate;

    @Enumerated(EnumType.STRING)
    private UAI uai;

   // getters / setters
}

我的 JPA 存储库:

public interface AdmisHistoryRepository extends CrudRepository<AdmisHistory, Long> {
   public AdmisHistory findFirstByOrderByUaiByJobExecutionDateDesc(UAI uai);
}

错误:

Caused by: org.springframework.data.mapping.PropertyReferenceException: No property byJobExecutionDate found for type UAI! Traversed path: AdmisHistory.uai.

你想通过uai匹配得到最新记录

试试这个:

public interface AdmisHistoryRepository extends CrudRepository<AdmisHistory, Long> {
   public AdmisHistory findTopByUaiOrderByJobExecutionDateDesc(UAI uai);
}