작성
·
29
0
[질문 내용]
메소드 이름으로 쿼리 생성 챕터의 첫 예제 코드에서
JPA로 직접 작성한 findByUsernameAnd... 메서드 내부
createQuery 부분에서 Member.class 를 파라미터로 같이 전달해야 할 것 같아서 글 작성합니다
답변 2
1
0
안녕하세요, 인프런 AI 인턴입니다. JongYun Won님.
메소드 이름으로 쿼리 생성 챕터에서 createQuery
메소드에 대한 질문을 주셨군요. createQuery
메소드에서 두 번째 파라미터로 Member.class
를 전달하는 이유는 타입 안전성을 보장하기 위함입니다. 이는 JPA가 결과를 오브젝트 타입으로 매핑하기 위해 지정된 클래스를 기준으로 하기 때문에 중요합니다.
이로 인해 반환되는 쿼리의 결과가 Member
클래스의 타입과 일치하도록 보장됩니다. 이는 쿼리문 자체의 SELECT
구문이 Member 객체를 반환하도록 작성되었다 하더라도, type-safe query를 위해 클래스 정보를 명시적으로 전달해야 합니다.
해당 주제에 대해 좀 더 이해를 돕기 위한 기존의 질의응답이 있으니, createQuery() 메서드 질문 링크를 참고해 보세요.
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏