[Spring Boot] Infinite recursion (StackOverflowError) 오류 날 때

KosMos·2023년 2월 8일
0



발생 원인

코드를 보면 알다시피 UserMember 클래스에 Account 변수가 있고, Account에 UserMember 변수가 있다.

그래서 Jackson 라이브러리에서 UserMember JSONObject를 만드는 도중 아래의 과정을 무한 반복하는 것이다.

UserMember 클래스의 getter 조회 -> getAuthorities를 실행해 List 반환받음 -> 각 Account 클래스의 getter 조회 -> getUserMember를 실행해 UserMember를 반환 받음 -> UserMember 클래스의 getter 조회 -> ...

@JsonIgnore 어노테이션을 추가하면 Jackson에서 JSONObject를 만들 때 해당 변수는 추가하지 않는다.

0개의 댓글