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

마비미님의 프로필 이미지
마비미

작성한 질문수

실전! 스프링 데이터 JPA

사용자 정의 리포지토리 구현

jpql return타입에 관한 질문입니다!

작성

·

310

4

안녕하세요! jpa 기본편 강의부터 활용1,2를 거쳐서 스프링데이터 jpa를 듣고있는 학생입니다!

jpql을 쓸때 반환타입이 명확할때는 타입쿼리 명확하지 않을때는 쿼리를 사용하고 이걸 줄여서 getResultList나 getSingleList를 사용해 List, 단일 객체로 반환받을수 있다고 알고있습니다.

(또한 "select m from Member m", Member.class 이렇게 쿼리문 뒤에다가는 Member.class라는 반환값을 적어주는걸로 알고있었습니다)

활용1편에서는 jpql을 사용할때 getResultList와 함께 반환값인 Member.class를 적어주셨는데 @Query나 여기서는 Member.class를 적지않고 하셔서 메소드의 리턴값을 List<Member>로 적어줬기때문에 Member.class를 적어주나 안적어주나 상관이 없는건가? 아니면 스프링데이터JPA가 해주는건가? 라는 생각이 들었는데 제 생각일뿐이라서.. 명확한 이유를 알고싶어서 질문을 올렸습니다!
(적으나 안적으나 테스트 결과는 같게 나왔습니다!) 

그리고 질문올릴때 마다 항상 친절하게 답변해주셔서 감사합니다ㅎㅎ

답변 2

3

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

우와! BeomJun Lee님 정말 열심히 하시는군요!

네 결론부터 이야기하면 자바의 <> (제네릭)을 스프링 데이터 JPA가 적극 활용하기 때문에 가능합니다^^

제네릭에 타입 정보가 있기 때문에 많은 것들이 편해졌지요^^

도움이 되셨길 바래요.

1

마비미님의 프로필 이미지
마비미
질문자

아하!!그렇군요!! 역시 스프링데이터인것 같습니다

이번에도 친절하게 답변해주셔서 감사합니다:) 좋은 하루 되세요!!

마비미님의 프로필 이미지
마비미

작성한 질문수

질문하기