public interface FollowRequestRepository extends JpaRepository<FollowRequest, FollowId>

이런 상황. 아이디가 복합키임.

/**
 * 팔로우 ID 엔티티.
 */
@Getter
@Setter
@Embeddable
public class FollowId implements java.io.Serializable {
  private static final long serialVersionUID = 4319676048288652083L;
  @NotNull
  @Column(name = "MEMBER_ID", nullable = false)
  private Long memberId;

  @NotNull
  @Column(name = "FOLLOW_ID", nullable = false)
  private Long followId;

  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || Hibernate.getClass(this) != Hibernate.getClass(o)) {
      return false;
    }
    FollowId entity = (FollowId) o;
    return Objects.equals(this.followId, entity.followId) 
      && Objects.equals(this.memberId, entity.memberId);
  }

  @Override
  public int hashCode() {
    return Objects.hash(followId, memberId);
  }

}

이렇게 생겼음.

복합키를 구성하는 식별자 하나만 이용해 리스트 조회

public interface FollowRequestRepository extends JpaRepository<FollowRequest, FollowId>, FollowRequestRepositoryCustom {

    // 보낸 사람 기준 팔로우 요청 목록 조회
    List<FollowRequest> findAllByToMemberId(long toMemberId);

    // 받은 사람 기준 팔로우 요청 목록 조회
    List<FollowRequest> findAllByFromMemberId(long fromMemberId);
}

이렇게 인터페이스를 만들어두면 복합키여도 JPA가 followRequest.id.toMemberId 를 내부적으로 인식한다고 함. → 확인필요