org.springframework.dao.InvalidDataAccessApiUsageException: No enum constant

hwarye·2023년 4월 2일
0

Trouble Shooting

목록 보기
10/11

🔺 에러 메세지

org.springframework.dao.InvalidDataAccessApiUsageException: No enum constant com.k5.modudogcat.domain.order.entity.Order.OrderStatus.ORDER_PAY_STANDBY; nested exception is java.lang.IllegalArgumentException: No enum constant com.k5.modudogcat.domain.order.entity.Order.OrderStatus.ORDER_PAY_STANDBY

=> (Order.OrderStatus.ORDER_PAY_STANDBY) enum 상수가 존재하지 않는다고 한다.


🙆🏻‍♀️ 해결방법

DB테이블을 확인해보니 Order.OrderStatus 자리에 <null>값들이 들어가 있었다! Order.OrderStatus.ORDER_PAY_STANDBY가 적용이 안되는 에러가 났던 코드를 수정하기 전 데이터들이 쌓여있었던 것이다!

<null> 대신 OrderStatus의 enum 타입으로 채워주니 해결!인 줄 알았으나..!!!!!!!!


<OrderProduct> DB>


위의 흐린 부분이 <null>로 채워져 있었다.


🌈 찐 해결!!!!!!!

에러 메세지를 자세히 보니 Order.OrderStatus.ORDER_PAY_STANDBY이 적용이 안된단다..?
ORDER_PAY_STANBY는 현재 Order가 아닌, OrderProduct에 있는데 말이다..!
이 말인 즉슨, Order 영역에 있었던 ORDER_PAY_STANBY를 OrderProduct로 옮겼는데 그게 적용이 안됐거나 이전의 기록이 남아있다는 얘기!!!


<Order> 테이블


확인해보니!! 현재는 위의 사진처럼 바꿔놨지만, Order테이블의 order_status 중 일부가 ORDER_PAY_STATUS로 저장되어있었다....
=> 그래서 ORDER_PAY_STATUS 대신 order_status중 하나인 ORDER_ACTIVE로 바꿔주니 해결되었다!!!
이번엔 진짜진짜 해결 완료~~!!!

profile
례코드

0개의 댓글