Как отсортировать по имени и статусу Active для запроса репозитория JPA? - PullRequest
0 голосов
/ 11 июля 2019

Я занимаюсь разработкой Spring Boot + Spring Data JPA + Postgres + Lombok пример.В этом примере я хочу получить все имя ученика firstName - это порядок ASC, статус которого в Active.

. Я разработал приведенный ниже запрос, который работает нормально, но я не вижу способа также использовать status=Active здесь.в JpaRepository запрос.

ПРИМЕЧАНИЕ : В моем случае поле status в Java Enum.

Есть лиКстати, если мы можем сделать то же самое?Я знаю, что могу выбрать всех студентов, а затем с помощью потоков можно легко их отфильтровать, но с помощью запроса JpaRepository есть ли способ?

List<Student> students = studentRepository.findAll(new Sort(Sort.Direction.ASC, "studentName"));

Ответы [ 2 ]

1 голос
/ 11 июля 2019

В вашем StudentRepository интерфейсе, который расширяет Repository / JpaRepository, вы можете добавить сигнатуру метода следующим образом:

public interface StudentRepository extends ....{
  List<Student> findAllByStatusOrderByStudentNameAsc(String status);
}
1 голос
/ 11 июля 2019

Просто поместите следующую сигнатуру метода в свой репозиторий и вызовите ее там, где вам нужно, с аргументом 'Active'.

List<Student> findAllByStatusOrderByStudentNameAsc(String status);
...