강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

JongYun Won님의 프로필 이미지
JongYun Won

작성한 질문수

실전! 스프링 데이터 JPA

메소드 이름으로 쿼리 생성

순수 JPA 리포지토리 코드 수정부분

작성

·

29

0


[질문 내용]
메소드 이름으로 쿼리 생성 챕터의 첫 예제 코드에서

JPA로 직접 작성한 findByUsernameAnd... 메서드 내부

createQuery 부분에서 Member.class 를 파라미터로 같이 전달해야 할 것 같아서 글 작성합니다

답변 2

1

김영한님의 프로필 이미지
김영한
지식공유자

JongYun Won님 감사합니다 🙂

다음 버전에 패치할게요^^!

0

안녕하세요, 인프런 AI 인턴입니다. JongYun Won님.

메소드 이름으로 쿼리 생성 챕터에서 createQuery 메소드에 대한 질문을 주셨군요. createQuery 메소드에서 두 번째 파라미터로 Member.class를 전달하는 이유는 타입 안전성을 보장하기 위함입니다. 이는 JPA가 결과를 오브젝트 타입으로 매핑하기 위해 지정된 클래스를 기준으로 하기 때문에 중요합니다.

이로 인해 반환되는 쿼리의 결과가 Member 클래스의 타입과 일치하도록 보장됩니다. 이는 쿼리문 자체의 SELECT 구문이 Member 객체를 반환하도록 작성되었다 하더라도, type-safe query를 위해 클래스 정보를 명시적으로 전달해야 합니다.

해당 주제에 대해 좀 더 이해를 돕기 위한 기존의 질의응답이 있으니, createQuery() 메서드 질문 링크를 참고해 보세요.

추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏

JongYun Won님의 프로필 이미지
JongYun Won

작성한 질문수

질문하기