이슈는 Hibernate에서 lazy-loaded 엔티티(지연 로딩된 엔티티)가 Jackson과 같은 라이브러리로 직렬화될 때 발생하는 문제입니다. Hibernate는 ByteBuddy 같은 프록시를 사용하여 객체를 지연 로딩하는데, 이 프록시가 초기화되지 않은 상태에서 직렬화하려고 하면 에러가 발생합니다. 이 경우, Jackson이 빈 객체를 직렬화할 수 없어 예외가 발생합니다.
핵심 문제:
• Hibernate의 lazy-loaded 프록시 객체를 Jackson이 직렬화할 수 없음.
결론
DTO로 담아서 "필요한 정보"만 보내야하지만 엔티티를 LAZY 조회로 그냥 반환 api를 작성할때 발생한 문제
'개발 > Spring+JPA' 카테고리의 다른 글
SpringSecurity (0) | 2024.09.22 |
---|---|
ModelAttribute와 RedirectAttributes 의 차이점 (0) | 2024.08.03 |
생성자와 @NoArgsConstructor(access = PROTECTED) (0) | 2024.08.03 |