Stack과 partStack은 oneToMany, ManyToOne 양방향 연관 관계를 맺고 있었다. 때문에 사용자 정보를 가져올 때 getMyStacks()만 호출했는데도 partStack 데이터까지 읽어왔다. 전혀 필요 없는 데이터고 요청도 하지 않았는데 말이다. 더 큰 문제는 User가 UserPart를 호출하고 UserPart가 또 User를 호출하면서 무한 루프에 빠진 상황이었다. 그렇다. jackson의 처리 방식 때문이다. 나는 getXXX를 통해 특정 테이블의 정보만 얻어오고 싶었는데 그 테이블에 매핑된 객체에서 다른 테이블의 객체를 참조하고 있었다. @XXToMany는 기본 fetch 방식이 LAZY이기 때문에 많은 연관된 데이터를 읽어오도록 요청하지 않고 단지 프록시 객체를 받아온다...