我正在开发Spring Boot + Spring Data JPA + Postgres + Lombok示例。在此示例中,我想获取所有学生名字是ASC顺序,其状态为Active
。
我在下面的查询中开发了,它工作正常,但我看不到在查询中也使用status=Active
的方法JpaRepository
。
注意
:就我而言,status
字段在 Java 中Enum
。
如果我们能做同样的事情,有什么办法吗?我知道我可以获取所有学生,然后使用流可以轻松过滤,但是使用 JpaRepository 查询,有什么办法吗?
List<Student> students = studentRepository.findAll(new Sort(Sort.Direction.ASC, "studentName"));
在StudentRepository
接口中,扩展Repository / JpaRepository
您可以添加如下方法签名:
public interface StudentRepository extends ....{
List<Student> findAllByStatusOrderByStudentNameAsc(String status);
}
只需将以下方法签名放在您的存储库中,并使用参数"Active"在您需要的地方调用它。
List<Student> findAllByStatusOrderByStudentNameAsc(String status);