[JPA] 양방향 순환참조 문제 및 해결방법
coco3o
게시판 프로젝트를 진행하던 중 순환 참조 문제에 마주하였다. ※ 순환 참조(Circular reference)란, 참조하는 대상이 서로 물려 있어 참조할 수 없게 되는 현상을 말한다. JPA에서 양방향으로 연결된 Entity를 그대로 조회하는 경우 서로의 정보를 순환하면서 조회하다가 stackoverflow가 발생하게 된다. ※ Spring Boot는 @ResponseBody(rest api)를 구현할 시 Object를 JSON 형태로 변환하기 위해 Jackson 라이브러리를 이용하는데, Jackson은 entity의 getter를 호출하고, 직렬화를 이용해 JSON 형태로 객체를 변화시키고 view로 전달하는데 getter를 호출하는 과정에서부터 순환 참조가 계속 발생해 view로 전달하면서 stack..