로딩
요청 처리 중입니다...

Spring Boot 테스트에서 @DataJpaTest 시 만났던 문제들 해결 - (1) 요구사항 설명

 Spring Boot 테스트에서 @DataJpaTest 시 만났던 문제들 해결 - (1) 요구사항 설명

서론 소마 프로젝트에서 다음과 같은 요구사항이 있었다. 에디터에서 스티커가 필요하다.

따라서 스티커를 S3에 저장하고, S3 주소를 포함한 스티커 정보를 RDB에 저장해야 한다. 스티커에는 태그 속성이 있다.

하나의 스티커에 대해 여러 개의 태그가 있을 수 있다. 하나의 태그에는 한국어, 영어가 있으며, 앞으로 다른 언어들도 추가될 수 있다.

태그로 스티커를 검색할 수 있어야 한다. 그래서 검색어를 넣으면, 스티커를 검색해서 반환하는 API를 제공해야 한다.

완성 화면 (테스트 화면이고 실제 UI는 이렇게 못생기지 않았따. 실제 UI는 오픈 이후를 기대해주세요 하하) 이 과정에서 겪은 트러블슈팅 과정을 정리해보았다.

이번 포스팅에서는 트러블슈팅이 주요 포스팅 목적이므로, 요구사항을 구현한 방법은 간단히 설명하고 아래 문제들을 해결한 방법을 정리해보겠다! 문제들 1) n+1 문제 2) 영속성 컨텍스트에서 null이 주입되지 말아야 할 상황에 null이 주입되는 경우 요구사항 구현...