inflearn logo
강의

Course

Instructor

[Beginner] Let's try it! Calling API with Kotlin and Spring

4.10. Add search term ranking

findTop10ByOrderByCntDesc 함수의 동작 원리에 대한 질문

385

theking149124

1 asked

0

interface WordRepository :CrudRepository<WordCount, String>
{
    fun findTop10ByOrderByCntDesc() :List<WordCount>
}

위 findTop10ByOrderByCntDesc 함수는 선언만 되고 실제 구현이 안되어서 CrudRepository 에도 들어가봤지만 virtual 함수도 아닌걸로 보이는데요..

예상하는 바는 repository에서 함수명을 query로 자동 변환하여 가져오는 형식으로 느껴집니다.

만약 그렇다면, 이 것은 원래 springframework 기능인 것인가요? (완전 웹개발 초보라서 이렇게 문의드립니다...)

spring kotlin spring-boot

Answer 1

1

kimkimgod

안녕하세요.

김정훈님 질문 남겨주셔서 감사합니다.

 

질문하신 함수(메서드)들을 Query Methods 라고 합니다.

이것은 Spring Data JPA에 포함되어 있는 기능인데요.

 

Repository interface에 메소드 명으로 query를 자동으로 생성해줍니다.

fun findTop10ByOrderByCntDesc() :List<WordCount>

이렇게 되어있는 메소드 명은 아래의 SQL 만들어서 호출 시 사용하게 됩니다.

select
    w1_0.word,
    w1_0.cnt 
from
    wordcount w1_0 
order by
    w1_0.cnt desc limit ?

 

Query Methods도 JPA에서 좀 더 쉽게 Query를 사용하기 위한 방법이여서 작성 규칙이 있습니다.

아래의 레퍼런스 확인하시면 작성법 학습 하실 수 있습니다.

https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods

 

보시고 더 궁금하신 내용 있으시면 질문 남겨주세요 :)

0

theking149124

문서 링크까지 친절하게 답변해주셔서 감사합니다!

지금 강의가 어려우신분 추천드립니다.

0

21

1

getOrCreate / Unique? 멱등 처리 질문

1

43

2

기존의 완성된 CRUD의 Build.gradle에 security관련 dependency를 추가하면 문제가 생깁니다.

0

40

2

파킹 페이지와 대기열 큐 질문입니다.

0

32

1

조회 메서드에서 @Transactional(readOnly=true) 질문

1

37

1

"폴더를 찾을 수 없습니다." 라는 응답만 계속 나옵니다.

0

41

1

EmailSender 관련 문의

0

42

1

CRA ? 질문입니다

0

45

1

[해결됨]마지막 강의 내용 수정 화면이 기능을 못하네요.

0

40

1

[해결됨]부분적으로 화면 이동이 안되는 부분이 있습니다.

0

80

6

낙관적락 질문있습니다.

0

43

1

해당 결제 부분을 포폴에서 테스트 api를 적용에 대한 궁금증

1

42

1

댓글순서부여방식

0

43

1

postgresql 인텔리제이 커뮤니케이션 버전에서는 실행 안되나요?

0

54

2

movablePageCount와 pageSize 상수

0

36

1

JPA와 네이티브 쿼리

0

41

1

Required request body is missing

0

5586

2

build.gradle.kts 오류가 발생해요

0

2859

2

BlogDto.decompiled.java 파일 보는법

0

648

2

intellij와 openjdk-17의 연동에 문제가 있는것 같습니다.

0

1850

1

오류를 모르겠습니다

0

581

2

최신 버전의 Spring WebFlux 에서는 reactive 가 없나봐요

0

970

1

use-new-id-generator-mappings

0

2176

1

질문

0

355

1