11package NextLevel .demo .follow ;
22
3+ import NextLevel .demo .user .entity .UserEntity ;
34import org .springframework .data .jpa .repository .JpaRepository ;
45import org .springframework .data .jpa .repository .Query ;
56import org .springframework .data .repository .query .Param ;
67
8+ import java .util .List ;
79import java .util .Optional ;
810
911public interface FollowRepository extends JpaRepository <FollowEntity , Long > {
@@ -17,4 +19,28 @@ public interface FollowRepository extends JpaRepository<FollowEntity, Long> {
1719 "from TagEntity t " +
1820 "where t.id = 1 " )
1921 SelectFollowCountAndIsFollowDao selectFollowCountAndFollowDao (@ Param ("targetUserId" ) Long targetUserId , @ Param ("userId" ) Long userId );
22+
23+ @ Query ("select new NextLevel.demo.follow.ResponseFollowDto(" +
24+ "follower , " +
25+ "(select count(f1) from FollowEntity f1 where f1.target.id = follower.id and f1.user.id = :targetId) as isFollow " +
26+ ")" +
27+ "from FollowEntity f " +
28+ "left join f.user follower " +
29+ "left join fetch follower.img " +
30+ "where f.target.id = :targetId " +
31+ "group by f.user" )
32+ List <ResponseFollowDto > gerFollowerList (@ Param ("targetId" ) Long targetId );
33+
34+ @ Query ("select new NextLevel.demo.follow.ResponseFollowDto(" +
35+ "follow , " +
36+ "(select count(f1) from FollowEntity f1 where f1.user.id = follow.id and f1.target.id = :userId) as isFollow " +
37+ ")" +
38+ "follow " +
39+ "from FollowEntity f " +
40+ "left join f.target follow " +
41+ "left join fetch follow.img " +
42+ "where f.user.id = :userId " +
43+ "group by follow" )
44+ List <ResponseFollowDto > gerFollowList (@ Param ("userId" ) Long userId );
45+
2046}
0 commit comments