1. Query Methods란 무엇일까?
Spring Data JPA에서는 메서드 이름으로 SQL을 생성할 수 있는 Query Methods 기능을 제공합니다.

paRepository 인터페이스에서 해당 인터페이스와 매핑되어있는
테이블에 요청하고자하는 SQL을 메서드 이름을 사용하여 선언할 수 있습니다.
SimpleJpaRepository 클래스가 생성될 때 위처럼 직접 선언한 JpaRepository 인터페이스의 모든 메서드를 자동으로 구현해줍니다.
public interface MemoRepository_Spring_Data_JPA extends JpaRepository<Memo, Long> {
List<Memo> findAllByOrderByModifiedAtDesc();
}
findAllByOrderByModifiedAtDesc() :
해당 메서드 이름은 Memo 테이블에서 ModifiedAt 즉, 수정 시간을 기준으로 전체 데이터를 내림차순으로 가져오는 SQL을 실행하는 메서드를 생성할 수 있습니다.
findAllByUsername(String username);
이렇게 Query Method를 선언했을 경우 ByUsername 에 값을 전달해줘야하기 때문에 파라미터에 해당 값의 타입과 변수명을 선언해줍니다.
암튼 이렇게 설정 하고 서비스 캑체에 가서
public List<MemoResponseDto> getMemos() {
return repo.findAll().stream().map(MemoResponseDto::new).toList();
}
을 아랫것으로 변경 하면 적용됨.
public List<MemoResponseDto> getMemos() {
return repo.findAllByOrderByModifiedAtDesc().stream().map(MemoResponseDto::new).toList();
}
'Spring' 카테고리의 다른 글
| Spring 숙련 2 (쿠키와 세션)(JWT) (0) | 2024.01.24 |
|---|---|
| Spring 숙련 1 (Bean을 수동)(복수Bean 타입)(인증 과 인과) (6) | 2024.01.24 |
| Spring 기초 10 (JPA Auditing (시간 받기)) (0) | 2024.01.21 |
| Spring 기초 9 (Spring DATA JPA + 기능들) (0) | 2024.01.21 |
| Spring 기초 8 (SpringBoot 의 JPA) (0) | 2024.01.21 |