본문 바로가기

개발일지(일간)

23년 1월 19일 팀 프로젝트

검색 기능 구현을 도전해 보았다.

처음에는 스프링의 @Query를 통해 sql쿼리를 직접 보내는 것을 시도해 보았는데, 무엇을 잘못했는지는 모르겠지만, 잘 먹히지 않아 방법을 바꿨다.

Jpa에 Containing 이란 것이 있는데, Containing 을 쓰면 입력한 키워드를 포함한 값을 찾는 쿼리, 그러니까 like % 쿼리를 자동으로 날려줘 입력한 파라미터를 포함한 값을 가지고 올 수 있다.

하지만 여기서도 문제가 생겼는데, 내가 가져오고자 하는 값은 profile의 nickname과 user의 username인데, 이러면 두 레파지토리에 모두 접근해, 값을 두번 가져와야 한다.

물론 연관관계를 맺어주면 jpa가 이 모든것을 자동으로 해주기에 깔끔하게 구동시킬 수 있지만, 내가 직접 쓰려니 코드가 너무 가독성이 떨어지고 지저분해지는 문제가 있었다.

이에 대해서 연관관계를 맺지 않고, 해결할 방법으로 HashMap을 활용해 쿼리를 써서 정리해라는 조언을 들었지만 아직 이해가 잘 가지 않는다.

내일 한번 더 도전해보고 안되면 연관관계를 맺어서 해결 해 볼 생각이다.

 

'개발일지(일간)' 카테고리의 다른 글

23년 01월 25일  (0) 2023.01.25
23년 1월 20일 팀 프로젝트  (0) 2023.01.21
23년 01월 18일 팀 프로젝트  (0) 2023.01.19
23년 01월 17일 팀프로젝트  (0) 2023.01.18
23년 01월 16일 팀프로젝트  (0) 2023.01.16