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

dev님의 프로필 이미지

작성한 질문수

실전! 스프링 데이터 JPA

메소드 이름으로 쿼리 생성

@Query 사용시 @Param 어노테이션이 필수 인가요?

작성

·

1.2K

0

안녕하세요 강사님 강의 보는중에 궁금한점이 생겨서 질문 드립니다 ^^

쿼리 메소드 사용 강의 중에 @Query 사용에 대한 강의를 보다가 @Query 선언한 메소드에 사용하는 파라미터 변수들에게

@Param 어노테이션을 정의해주시는데요 해당 역할은 전 강의에서 설명해주셔서 알고는 있는데 @Param 이 없어도 잘 동작하는거 같아서요 ^^;

사용하는것이 권장되어야 할지 궁금합니다!

답변 3

5

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

네^^

자바 8이상에서 interface 파라미터 이름을 알아내려면 자바 컴파일러에 -parameters 옵션이 필요합니다. 아마 이 옵션이 메이븐 통해서 들어간 것 같아요^^

아직까지는 이 옵션없이 사용하는 경우가 많으므로 @Param은 꼭 사용해주세요 :)

0

dev님의 프로필 이미지
dev
질문자

안녕하세요 강사님 ^^

위에처럼 getTeamInfo 메서드에 @Param을 생략하였는데 구동이 되기도 해서요 ㅎ..

실습 프로젝트에서는 @Param 있어야만 구동되는데 제가 구축중인 프로젝트에서는 환경 설정 및 pom 의존성 때문인지

모르겠지만 구동이 정상적으로 되더라구요 QueryDsl도 설정해두었는데 연관이 있을까요??

0

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

안녕하세요 dev님

혹시 어떤 경우에 @Query를 선언해도 @Param 없이 동작하는지요?

dev님의 프로필 이미지

작성한 질문수

질문하기