강의

멘토링

로드맵

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

tmdgk4902님의 프로필 이미지
tmdgk4902

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

주문 목록 검색, 취소

주문 조회 시 @ModelAttribute로 orderSearch 값이 받아지질 않습니다

작성

·

336

1

주문 조회 창에서 회원 이름과 상태를 검색해도 필터링되어서 검색 결과가 조회가 되지 않아서 질문드립니다 (전체 주문이 주문 상태가 order인 주문건이 1개밖에 없는 경우 주문 상태를 cancel로 검색해도 order인 주문건이 1개가 뜸 )

 

중간에 로그 찍는 코드와 orderSearch 폼의 @Getter 제외하고는 전부 복붙한 코드입니다(findByCriteria 도 복붙했습니다 너무길어서 생략합니다)

 

 

http://localhost:8080/orders?memberName=xxxx&orderStatus=CANCEL

이렇게 쿼리파라미터를 넘기고 로그를 찍어보니

 

 List orders = orderService.findOrders(orderSearch); 호출 전

2022-02-05 17:14:47.834  INFO 16212 --- [nio-8080-exec-1] jpabook.jpashop.web.OrderController      : member = null, status = null

(중간 생략

List orders = orderService.findOrders(orderSearch); 호출 후)

2022-02-05 17:14:47.840  INFO 16212 --- [nio-8080-exec-1] jpabook.jpashop.web.OrderController      : order = 4, status = ORDER

 

이렇게 남습니다 애초에  @ModelAttribute로 orderSearch 받아오는 값이 전부 null로 들어가서 findByCriteria 메소드를 호출해도 제대로 조회가 안되는 것 같은데 왜 이럴까요? h2에는 item member order orderItem 값이 정상적으로 저장된 상태입니다

 

퀴즈

회원 가입 시 화면 입력 데이터를 엔티티 객체 대신 별도의 Form 객체로 받는 주된 이유는 무엇일까요?

데이터베이스 성능을 최적화하기 위해서

화면 종속적인 데이터나 유효성 검증 로직을 분리하기 위해서

JPA 영속성 컨텍스트와 직접적인 관계를 맺기 위해서

코드의 자동 생성 기능을 활용하기 위해서

답변 2

1

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

안녕하세요. tmdgk4902님

OrderSearch에 @Setter도 추가해주세요.

해당 주석은 코드가 길어서 생략한 부분입니다^^

감사합니다.

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

앗 그렇겠네요 간단한 이유였네요 감사합니다..!!!

0

같은 이유로 한참 해맸습니다. 질문자님 감사합니다.

tmdgk4902님의 프로필 이미지
tmdgk4902

작성한 질문수

질문하기