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

박찬호님의 프로필 이미지
박찬호

작성한 질문수

실전! 스프링 데이터 JPA

메소드 이름으로 쿼리 생성

em.createQuery의 두번째 argument에 대해

작성

·

250

1

안녕하세요!
em.createQuery() 메소드를 호출할 때, 첫 번째 인자는 jpql를 넣어주고,

두 번째 인자에는 반환할 타입을 명시하는 것이라 이해했습니다.

 public <T> TypedQuery<T> createQuery(String qlString, Class<T> resultClass);

하지만 두 번째 인자를 넣지 않더라도 경고만 뜨고 컴파일 오류는 나지 않는데, 필수적인 인자값이 아닌건가요?

또 넣었을 때와 넣지 않았을 때 차이점이 무엇인가요??

감사합니다

답변 1

1

안녕하세요. 박찬호님, 공식 서포터즈 David입니다.

반환타입을 넣지 않아도 되는 메서드도 존재합니다.

반환타입을 명시해주면 쿼리 결과를 해당 타입으로 변환해서 반환합니다.

반환타입을 명시하지 않으면 쿼리 결과를 Object 타입으로 반환합니다.

image감사합니다.

박찬호님의 프로필 이미지
박찬호

작성한 질문수

질문하기