작성한 질문수
실전! 스프링 데이터 JPA
해결된 질문
23.12.14 15:09 작성
·
223
0
jpashop 프로젝트에서 OrderRepository를 criteria 부분은 스프링데이터jpa로 바꿔보려하는데
@Query(“select o from Order o join o.member m)
List<Order> findByMemberName();
이렇게 작성한다면 Order를 멤버 이름으로 조회 할 수 있을까요??
답변 1
2023. 12. 14. 15:25
안녕하세요. wodlszz님, 공식 서포터즈 y2gcoder입니다.
@Query 를 사용하신다면 JPQL을 완전하게 짜주셔야 할 것 같습니다!
@Query("select o from Order o join o.member m where m.name = :memberName) List<Order> findByMemberName(String memberName)
이런식으로 시도해보시겠습니까?
감사합니다.
2023. 12. 14. 15:48
제가 쿼리문을 짜면서 항상 헷갈리는게 있는데
where m.name = :memberName 이 부분에서
name은 제가 엔티티 등에서 설정한 변수값이고
memberName은 아무 값이나 작성해도 되는 값인건가요?
아니면 반대인가요??
2023. 12. 14. 16:21
말씀하신 것이 맞습니다. name은 엔티티 필드명입니다! 그래서 인텔리제이 유료버전에서는 자동완성을 지원해줍니다 :)
그리고 :이 붙은 값은 파라미터 값이라고 생각하시면 됩니다! 파라미터명이랑 일치하도록 적어주시면 됩니다!
2023. 12. 14. 15:48
제가 쿼리문을 짜면서 항상 헷갈리는게 있는데
where m.name = :memberName 이 부분에서
name은 제가 엔티티 등에서 설정한 변수값이고
memberName은 아무 값이나 작성해도 되는 값인건가요?
아니면 반대인가요??