如何按名称和状态为 JPA 存储库查询排序?
How to sort By Name and status Active for JPA repository query?
我正在开发 Spring Boot + Spring Data JPA + Postgres + Lombok 示例。在这个例子中,我想获取所有学生 firstName 是 ASC 顺序并且其状态在 Active
.
我开发了以下查询,效果很好,但我看不到在 JpaRepository
查询中也可以使用 status=Active
的方法。
注意:在我的例子中,status
字段是 Java 中的 Enum
。
有什么方法可以做到吗?我知道我可以获取所有学生,然后使用流可以轻松过滤,但是使用 JpaRepository 查询,有什么办法吗?
List<Student> students = studentRepository.findAll(new Sort(Sort.Direction.ASC, "studentName"));
只需将以下方法签名放入您的存储库中,并在您需要的地方使用参数 'Active' 调用它。
List<Student> findAllByStatusOrderByStudentNameAsc(String status);
在您的 StudentRepository
接口中,扩展 Repository / JpaRepository
您可以添加这样的方法签名:
public interface StudentRepository extends ....{
List<Student> findAllByStatusOrderByStudentNameAsc(String status);
}
我正在开发 Spring Boot + Spring Data JPA + Postgres + Lombok 示例。在这个例子中,我想获取所有学生 firstName 是 ASC 顺序并且其状态在 Active
.
我开发了以下查询,效果很好,但我看不到在 JpaRepository
查询中也可以使用 status=Active
的方法。
注意:在我的例子中,status
字段是 Java 中的 Enum
。
有什么方法可以做到吗?我知道我可以获取所有学生,然后使用流可以轻松过滤,但是使用 JpaRepository 查询,有什么办法吗?
List<Student> students = studentRepository.findAll(new Sort(Sort.Direction.ASC, "studentName"));
只需将以下方法签名放入您的存储库中,并在您需要的地方使用参数 'Active' 调用它。
List<Student> findAllByStatusOrderByStudentNameAsc(String status);
在您的 StudentRepository
接口中,扩展 Repository / JpaRepository
您可以添加这样的方法签名:
public interface StudentRepository extends ....{
List<Student> findAllByStatusOrderByStudentNameAsc(String status);
}