새로고침을 할 때마다 Json으로 받아오는 데이터가 db에 쌓이는 문제가 발생했다..
이 글은 이를 해결해보는 과정을 기록한 글입니다.
문제 상황
이전에는 GET 방식으로 홈페이지에 들어가는 동시에 DataManager가 Json 데이터를 파싱하여 db에 저장하는 방식으로 진행되었다.
이런식으로 데이터가 저장되다보니 데이터가 중첩되어 저장되는 상황이 일어났다.
일이 벌어지고 나서야 알아채다니..
어떻게 해결하면 좋을까
어떤 객체를 사용할 때마다 데이터가 중복되어 저장되면 안 되기 때문에 코드에서 딱 한번 실행될 부분을 생각해야한다.
가장 좋은 방법은 객체의 생성 시점에 데이터를 함께 생성하는 것이 좋겠다는 생각이 들었다.
때문에 InitService가 생성될 때 데이터를 생성하도록 코드를 변경해주었다.
해결 코드
이런 식으로 InitService가 생성되는 시점에 dataManager를 이용하여 데이터를 저장해주었다.
사실 시도조차 하지 말아야할 실수이지만, 가벼운 고민이더라도 조금씩 기록하고 고민해보자는 의미에서 글로 남겼다.
조회시점에 db에 DISTINCT를 sql문에 추가하여 중복을 제거하고 조회하는 것은 근본적인 해결이 되지 않기 때문에 하지 않았다.
'Develop > Spring' 카테고리의 다른 글
Spring | Spring MVC 패턴 - HTTP 요청을 받고 응답하기까지의 전 과정(2) (1) | 2024.09.05 |
---|---|
Spring | Spring MVC 패턴 - MVC와 서블릿 (1) (0) | 2024.09.05 |
Spring | Spring AOP의 동작원리와 JDK Dynamic Proxy vs CGLIB Proxy 비교 및 Spring AOP와 AspectJ 비교 (0) | 2024.09.05 |
Spring, BE | Apache Tomcat 바로 알기 + 웹서버(Nginx와 Apache 비교)를 두는 이유 (2) | 2024.08.13 |
Spring Security | 로그인 방식 (0) | 2023.09.28 |