inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[초급] 맛보자! 코틀린과 스프링으로 API 호출하기

4.10. 검색어 순위 추가하기

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

366

김정훈

작성한 질문수 1

0

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

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

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

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

spring kotlin spring-boot

답변 1

1

김대디

안녕하세요.

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

 

질문하신 함수(메서드)들을 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

김정훈

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

네이버 API | '검색 - 책' API 제공 중단

0

14

1

ArticleReadService 관련 질문

0

12

1

kafka 이벤트 발행 실패 시 at-least-once를 보장하는 방법이 궁금합니다.

1

35

1

domain에 @Entity 와 Repository를 함께 둔 이유가 궁금합니다

1

28

1

Part 2 듣기전 복습하던 중, 아키텍처에 관한 질문이 있습니다.

0

31

2

장치 의존성과 CSR

0

29

1

테스트는 인터페이스를 대상으로 만드는것에 대해 궁금한 점이 있습니다.

0

21

1

혹시 강의 내용하면서 실습했던 것을 개인 깃에다 올려도 될까요?

0

14

1

아무도 모르게 책 내시면 모르실 줄 알고!!

1

42

2

[영한님]Spring Boot 및 프로젝트 생성

0

45

2

Jib 이미지 빌드에서 docker credential 관련으로 이슈가 있다면

1

58

1

스크립트에 대해 질문 있습니다.

1

53

1

같은 사용자가 연속된 중복 호출할 경우 어떻게 되는지 궁금합니다!

2

57

1

조건 검색 질문

0

31

1

JPA 엔티티로 만들었다고 기술종속이 아닌지에 대한 질문

0

49

3

강의 요청 문의

0

37

2

Required request body is missing

0

5542

2

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

0

2830

2

BlogDto.decompiled.java 파일 보는법

0

625

2

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

0

1829

1

오류를 모르겠습니다

0

552

2

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

0

958

1

use-new-id-generator-mappings

0

2166

1

질문

0

336

1