해당 문제가 발생했을 때, 직감적으로 알 수 있었다. 나의 쿼리 구성이 잘못되었음을..

간과한게 있었다. 중복이 될 수 있다는 점을 생각하지 않았다는 것이다.

엔티티 간 관계 상태

대략 위와 같이 총 3개의 테이블을 조인하여, 그 안에서 원하는 값을 찾는 로직을 구성하고자 했다.

문제 발생 시점에서, 먼저 로직 구성 시 내가 중복되게 작성한 부분이 있는지를 디버그 포인트를 걸어 확인하였다.

⇒ 로직 구성 자체는 문제가 없는 것 같아서, 쿼리 상의 문제라고 판단이 들었고, DB console을 열어서 직접 쿼리를 날려보기로 했다.

select * from post join fields f on post.post_id = f.post_id join tech_stack ts on f.fields_id = ts.fields_id;

그 결과, 문제를 찾을 수 있었다.

이는 distinct 옵션을 넣어줌으로써 해결할 수 있다.