인프런 커뮤니티 질문&답변
상품주문 에러 도와주세요
작성
·
865
0
안녕하세요 선생님 강의 잘듣고 있습니다.
다른 기능은 잘 되는데
상품주문기능중에서
상품 주문을 submit하면 에러가 나오고
주문내역을 클릭해도 오류가 나옵니다..
저 스스로 해결해볼려고 해봤는데 원인을 찾지 못해서
코드한번 봐주실수있을까요?
전체코드파일 링크
https://drive.google.com/drive/folders/16rERqFx4v9aXM5_oqzXfoJIqJc240Jeh?usp=sharing
퀴즈
회원 가입 시 화면 입력 데이터를 엔티티 객체 대신 별도의 Form 객체로 받는 주된 이유는 무엇일까요?
데이터베이스 성능을 최적화하기 위해서
화면 종속적인 데이터나 유효성 검증 로직을 분리하기 위해서
JPA 영속성 컨텍스트와 직접적인 관계를 맺기 위해서
코드의 자동 생성 기능을 활용하기 위해서
답변 6
1
다시 확인해보았습니다.
Order 클래스에서
private OrderStatus orderStatus;
를
@Enumerated(EnumType.STRING)
private OrderStatus status;
로 바꾼 후 필드 이름이 바껴서 발생하는 해당 클래스 내의 setter 사용 2군데 오류나는 것 수정해주세요.
동작 확인 할 때 application.yml의 ddl-auto를 create 상태에서 테스트 해주세요.
0
0
코드에서 두 가지 문제점이 보입니다.
1)
<input type="text" th:field="*{memberName}" class="formcontrol" placeholder="회원명"/>
formstxcontrol에서 stx를 -로 바꿔주세요
2)
OrderStatus를 보시면
패키지 경로와 코드에서 명시한 경로가 다릅니다.
jpabook.jpashop.domain와 jpabookkk.jpashoppp.domain;
이 서로 매칭이 되지 않습니다.
<option th:each=
"status : ${T(jpabook.jpashop.domain.OrderStatus).values()}"
package jpabookkk.jpashoppp.domain;
public enum OrderStatus {
ORDER, CANCEL
}
0
@Transactional 누락된거 잡아서 했는데 또 에러가 나네요..
이번에는 TemplateInputException 인데 제가 해결해볼려고 해봤는데 원인이 뭔지 모르겠어요
혹시 코드 한번 봐주실수 있으실까요..)))
https://drive.google.com/file/d/15uh6oVTTWW1p_oi4fiVZ1HTzdNl8vCL8/view?usp=sharing
0
안녕하세요. gmlwjd4667님, 공식 서포터즈 OMG입니다.
해당 에러 상황은 @Transactional이 누락되었을 때 발생하는 상황으로 보입니다.
말씀하신 상황(주문 등록) 과 에러메시지에서의 'persist'가 포함된 것으로 보아 OrderService 혹은
public Long Order 매서드 위(메서드 영역)의 @Transactional이 누락된 것으로 보입니다.
메뉴얼 혹은 제공해드리는 프로젝트 코드를 참고하여 @Transactional이 누락되었는지 확인 후 문제가 발생할 경우 프로젝트 코드를 공유해주세요.
*중요
크롬 혹은 엣지 브라우저에서 ctrl + shift + n 을 눌러 시크릿모드 창을 띄운 후 시크릿모드에서 링크를 접속하였을 때 액세스 권한이 출력되지 않아야 합니다.
관련 오류 참고:
감사합니다.
0
안녕하세요. gmlwjd4667님, 공식 서포터즈 David입니다.
.
액세스 권한이 필요하네요.
아래 링크에 "질문용 파일업로드" 항목을 참고해주세요.
https://bit.ly/3fX6ygx
.
감사합니다.






감사합니다 !