findTop10ByOrderByCntDesc 함수의 동작 원리에 대한 질문
339
1 asked
interface WordRepository :CrudRepository<WordCount, String>
{
fun findTop10ByOrderByCntDesc() :List<WordCount>
}위 findTop10ByOrderByCntDesc 함수는 선언만 되고 실제 구현이 안되어서 CrudRepository 에도 들어가봤지만 virtual 함수도 아닌걸로 보이는데요..
예상하는 바는 repository에서 함수명을 query로 자동 변환하여 가져오는 형식으로 느껴집니다.
만약 그렇다면, 이 것은 원래 springframework 기능인 것인가요? (완전 웹개발 초보라서 이렇게 문의드립니다...)
Answer 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
3
1
프로젝트 의존 관계
0
6
1
application.properties가 적용되지 않아요
1
11
2
새 프로젝트 속 제너레이터에 SpringBoot가 없습니다.
0
13
1
'디스패처(Dispatcher)' 훅 패턴 적용이 다 안되
0
19
1
usecase 사용 기준
1
26
2
android crud중 c 영상이 12초만 있는 잘린 영상이에요.
0
29
2
섹션3. 11 회원객체 다이어그램
0
22
1
OCP, DIP과 @Qualifier 어노테이션에 대해서 질문합니다.
0
24
1
강의 연장 요청
0
26
2
설정 정보 없이 임베디드 데이터베이스 생성
0
22
1
@Version 어노테이션이 붙은 필드는 낙관적 락이든 비관적 락이든 업데이트가 됩니다.
0
31
1
형 이번에 낸 책이랑 강의 내용에 차이가 있어?
1
49
1
형 나 몰래 책내면 모를 줄 알고?
1
38
1
OrderServiceTest 상문주문 테스트 시 update 쿼리 문의
0
27
1
N+1 관련해서 질문있습니다.
0
46
3
Required request body is missing
0
5472
2
build.gradle.kts 오류가 발생해요
0
2779
2
BlogDto.decompiled.java 파일 보는법
0
595
2
intellij와 openjdk-17의 연동에 문제가 있는것 같습니다.
0
1784
1
오류를 모르겠습니다
0
510
2
최신 버전의 Spring WebFlux 에서는 reactive 가 없나봐요
0
934
1
use-new-id-generator-mappings
0
2124
1
질문
0
309
1

