반응형
상위 데이터 1개를 가져오는 구문
List<User> findTop1ByName(String name);
테스트 코드
System.out.println("findTop1ByName: " + userRepository.findTop1ByName("martin"));
확인
마지막 한 줄을 가져오는 구문(정렬 후에 마지막 한줄을 가져온다.)
// 역순으로 정렬해서 마지막 한줄을 출력하는 예제
List<User> findTopByNameOrderByIdDesc(String name)
테스트 코드
System.out.println("findTopByNameOrderByIdDesc: " + userRepository.findTopByNameOrderByIdDesc("martin"));
확인
다중 정렬을 사용하는 예제
// Id의 역순, Email의 정순으로 정렬하여 출력
List<User> findFirstByNameOrderByIdDescEmailAsc(String name);
테스트 코드
System.out.println("findFirstByNameOrderByIdDescEmailAsc: " + userRepository.findFirstByNameOrderByIdDescEmailAsc("martin"));
확인
사용자가 직접 정렬 기준을 정하는 예제
// 사용자가 정렬기준을 파라미터로 전달하는 예제
List<User> findFirstByName(String name, Sort sort);
테스트 코드
System.out.println("findFirstByName: " + userRepository.findFirstByName("martin", Sort.by(Sort.Order.asc("email"))));
확인
정렬 메소드를 별도로 작성하여 코드를 줄이는 방법
정렬 메소드 작성
private Sort getSort(){
return Sort.by(
Sort.Order.desc("id"),
Sort.Order.asc("email"),
Sort.Order.desc("createdAt")
);
}
테스트 코드
// 정렬을 메소드로 이용하여 사용하는 방법
System.out.println("findFirstByName: " + userRepository.findFirstByName("martin", getSort()));
확인
반응형
'Spring > JPA' 카테고리의 다른 글
Entity 기본 속성 (0) | 2021.07.18 |
---|---|
Query Method 예제 - 5(페이징 처리) (0) | 2021.07.17 |
Query Method 예제 - 3 (0) | 2021.07.17 |
QueryMethod 예제 2 (0) | 2021.07.17 |
Query Method 구현 1 (0) | 2021.07.17 |