먼저 repository를 구현했다.
그 중 잘 모르는 어노테이션이 있다. 정리해보자.
JPQL은 알고 있었지만 본인이 참고한 코드에는 SQL문이 있었다.
이유는 바로 다음에 위치한 nativeQuery가 true로 되어있었기 때문이다.
nativeQuery: 이는 이름 그대로 JPQL이 아닌 SQL문을 사용할 수 있게 해준다. JPQL로 바꾸는 것은 쉽기 때문에 코드를 수정해줬다.
이제 Repository를 분석해보자.
UserRepository:
Email로 User를 찾는 추가 메서드를 구현해줬다.
PostRepository:
Query문을 이용해 메인과 검색 결과를 조회하는 메소드를 구현했다. 둘 다 페이징으로 처리해준다.
메인은 팔로우한 사람들의 스토리만 조회한다.
검색 결과는 tag와 검색문을 비교해서 조회한다.
LikesRepository: 두 메서드가 있다.
post를 특정 user_id가 좋아요 눌렀을 때 Likes 테이블에 post와 user_id를 저장하고 좋아요를 취소 했을 때 테이블에서 삭제된다.
FollowRepository:
follow 테이블 조회 기능과 팔로워 수, 팔로잉 수를 조회하는 기능이 있다.
그리고 팔로우와 언팔로우 기능도 구현했다.
CommentRepository:
comment를 삭제하는 기능이 구현되어 있다.
사실 할 수 있는 것 까진 모두 끝냈다.
하나하나 끝까지 올릴 생각이다.