inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

Users Microservice - 사용자 조회 ③

userRepository.findByUserId(userId) 구문 관련해서 질문이있습니다.

978

labstudiog

작성한 질문수 2

0

안녕하세요. 강사님 수업을 듣고있는 학생입니다.
 
수업을 듣고 코드를 보다보니 궁금한 부분이 있어서요.
 
UserController에서 userRepository.findByUserId(userId)를 사용하고 있는데, userRepository의 interface에 findByUserId(userId) 함수가 사용될것이라고 정의되어있는것을 확인했고,
 
제 생각대로라면
findByUserId(userId)에 대한 함수 본체에 대한 구성정의가 필요할것같은데 userRepository는 impl 클래스가 따로 존재하지 않고
 
userRepository의 interface에서 CRUD를 상속받는 class에 따라갔는데도 findByUserId에 대한 함수이름으로 정의된게 없는데
 
java에서는 어떻게 알고 conroller.class에서 findByUserId의 기능을 수행할수있는건지 궁금합니다.
 
 

JPA spring-boot architecture spring-cloud Kafka msa

답변 1

4

Dowon Lee

안녕하세요, 이도원입니다. 

JPA를 사용하는 장점은 메소드의 이름으로 Query를 실행할 수 있다는 점입니다. CRUD 인터페이스를 상속받은 다음 find로 시작되는 메소드를 작성하게 되면, 해당 메소드의 이름을 테이블 컬럼명과 매칭하여 해당 SELECT Query를 실행할 수 있습니다. 예를 들어, findByLastnameAndFirstname 과 같은 메소드는 다음과 같은 Query과 실행됩니다. 

where x.lastname = ?1 and x.firstname = ?2

https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#reference 에서 Query Creation 부분을 참고해 보시면 여러 패턴이 나와 있으니 참조하시기 바랍니다. 

감사합니다. 

 

kafka 업데이트 강의 듣고 시포요

0

114

2

강의 교안

0

105

2

마이크로서비스간 통신 시, 인증 처리

0

114

2

api gateway 에서 인증 처리

0

76

1

섹션 19 질문드립니다

0

84

2

강의 자료 업데이트

0

105

2

부하분산 강의 섹션

0

65

1

강의자료는 어디에서?

0

98

2

강의 자료는 어디서 다운 받을 수 있나요?

0

131

2

전체 사용자 조회시 오류

0

65

1

혹시 pk 외 별도의 id 를 부여한 이유가 있을까요 ??

0

120

2

학습 방향

0

105

2

카프카 커넥터 사용 목적 문의

0

90

2

kafka 강의

0

117

2

서비스 디스커버리 종류

0

90

2

강의 자료에 대해서 궁금해요

0

125

2

GlobalFilter, LoggingFilter가 동작하지 않습니다.

0

94

2

Kafka Source Connect 버전 에러

0

95

2

소스커넥터는 사용안한 거 맞죠?

0

84

2

강의자료 업데이트 문의

0

99

2

강의에서 BCryptPasswordEncoder 에 역할(5-2)

0

63

1

강의 업데이트 계획이 궁금합니다.

0

120

2

MSA 애플리케이션에 Spring Web과 Spring Data JPA를 사용하는 것이 바람직한지 궁금합니다. (MSA 설계와 관련된 질문입니다)

0

168

2

어떤 것이 업데이트 된 건가요?

0

169

2