• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

em.createQuery의 두번째 argument에 대해

22.08.25 17:32 작성 조회수 177

1

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

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

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

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

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

감사합니다

답변 1

답변을 작성해보세요.

1

David님의 프로필

David

2022.08.25

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

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

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

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

image감사합니다.