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

wodlszz님의 프로필 이미지
wodlszz

작성한 질문수

실전! 스프링 데이터 JPA

@Query문

해결된 질문

작성

·

228

0

jpashop 프로젝트에서 OrderRepository를 criteria 부분은 스프링데이터jpa로 바꿔보려하는데

 

@Query(“select o from Order o join o.member m)

List<Order> findByMemberName();

 

이렇게 작성한다면 Order를 멤버 이름으로 조회 할 수 있을까요??

답변 1

0

안녕하세요. wodlszz님, 공식 서포터즈 y2gcoder입니다.

@Query 를 사용하신다면 JPQL을 완전하게 짜주셔야 할 것 같습니다!

@Query("select o from Order o join o.member m where m.name = :memberName) 
List<Order> findByMemberName(String memberName)

이런식으로 시도해보시겠습니까?

감사합니다.

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

제가 쿼리문을 짜면서 항상 헷갈리는게 있는데

where m.name = :memberName 이 부분에서

name은 제가 엔티티 등에서 설정한 변수값이고

memberName은 아무 값이나 작성해도 되는 값인건가요?

 

아니면 반대인가요??

말씀하신 것이 맞습니다. name은 엔티티 필드명입니다! 그래서 인텔리제이 유료버전에서는 자동완성을 지원해줍니다 :)

그리고 :이 붙은 값은 파라미터 값이라고 생각하시면 됩니다!
파라미터명이랑 일치하도록 적어주시면 됩니다!

wodlszz님의 프로필 이미지
wodlszz

작성한 질문수

질문하기