KOSTA교육/수업

[92/100] 240827

이원혁 2024. 8. 27. 17:16
반응형

오늘은 API GateWay담당자에게 의존성과 properties를 받아서 적용하고 유레카 서버에 정상적으로 올라오는지 테스트했고 정상적으로 동작했다.

하지만 기존에 DTO를 이용하는 과정에서 초기화 문제로 인해 데이터가3개있는 db를 조회했을때 무한 재귀 참조로 인해 수천개의 db가 조회되는 문제가 발생했다.

 

엔티티에서 부모 자식간의 관계가 양방향이고 JSON 직렬화 과정에서 계속 순환하면서 참조했기 때문이다.

 

이를 해결하기 위해 여러가지 방법이 있는데 DTO를 service계층에서 이용하고 지연로딩을 적용하며 

 

트리 구조를 만들 때 재귀적으로 처리는 하는데 DTO를 사용하게 해서 순환되는걸 막았고 @Transactional 어노테이션을 사용하여 트랜잭션을 관리하도록 해서 DTO 변환 작업을 트랜잭션 내에서 안전하게 수행할 수 있도록 변경했다.

반응형