작성
·
149
0
에러상황: 포스트맨으로 요청시
http://localhost:8080/api/v1/simple-orders
"timestamp": "2024-05-08T03:14:28.812+00:00",
"status": 500,
"error": "Internal Server Error",
"path": "/api/v1/simple-orders"
}
에러가 납니다.
에러코드:
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.springframework.http.converter.HttpMessageConversionException: Type definition error: [simple type, class org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor]] with root cause
전체코드:https://drive.google.com/file/d/1dmrZQpe2BMk8jNkKn2t6fjINWC6LRPiX/view?usp=drive_link
강의와 다른 부분은
@GetMapping("/api/v1/simple-orders")
public List<Order> ordersV1() {
List<Order> all = orderRepository.findAllByString(new OrderSearch());
return all;
}
findAllByString->findAllByCriteria 로 변경했으나 매개변수는 똑같기 때문에 잘 작동되어야 한다는 생각을 했는데 작동이 잘 안됩니다. 이유가 뭔가요?
코드에러가 컨버터 에러가 나와서 에러를 못잡아서 [dispatcherServlet]까지 넘어간건가요?
주문목록에서는 데이터가 잘조회됩니다.
답변 1
0
안녕하세요. zzzzz님
간단한 주문 조회 V1: 엔티티를 직접 노출을 보시면
하이버네이트 모듈 등록이라는 부분이 있습니다.
메뉴얼에서 이 부분을 참고해주세요.
스프링 부트 3.0 이상: Hibernate5JakartaModule 등록
build.gradle
에 다음 라이브러리를 추가하자
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-hibernate5-jakarta'
JpashopApplication
에 다음 코드를 추가하자
@Bean
Hibernate5JakartaModule hibernate5Module() {
return new Hibernate5JakartaModule();
}
감사합니다.