해당 게시글은 개인 프로젝트인 "광고 관리 플랫폼 대행사 센터 제작" 중
#57 "리팩토링 : DTO, Response 수정" 이슈를 다루고 있습니다.
StackOverflowError
발생 public static AgentGroupDto from(AgentGroup entity) {
return new AgentGroupDto(
AgencyDto.from(entity.getAgency()),
entity.getAgents().stream()
.map(AgentDto::from)
.collect(Collectors.toCollection(LinkedHashSet::new)),
entity.getId(),
entity.getName(),
entity.getCreatedAt(),
entity.getCreatedBy(),
entity.getModifiedAt(),
entity.getModifiedBy()
);
public static AgentDto from(Agent entity) {
return new AgentDto(
AgencyDto.from(entity.getAgency()),
AgentGroupDto.from(entity.getAgentGroup()),
entity.getUserId(),
entity.getUserPassword(),
entity.getNickname(),
entity.getEmail(),
entity.getCreatedAt(),
entity.getCreatedBy(),
entity.getModifiedAt(),
entity.getModifiedBy()
);
}
AgentGroupWithAgentsDto
에서는 문제가 발생하지 않았으나 이를 삭제하고 AgentGroupDto
를 수정하니 from 메소드의 get 에서 순환참조 발생 중@ToString.Exclude
처리를 이미 진행하였으나 수정되지 않아 @Getter
쪽 문제로 보임