diff --git a/src/main/java/clap/server/adapter/outbound/persistense/repository/notification/NotificationRepository.java b/src/main/java/clap/server/adapter/outbound/persistense/repository/notification/NotificationRepository.java index e4462dd5..0a8b86e1 100644 --- a/src/main/java/clap/server/adapter/outbound/persistense/repository/notification/NotificationRepository.java +++ b/src/main/java/clap/server/adapter/outbound/persistense/repository/notification/NotificationRepository.java @@ -5,6 +5,8 @@ import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Slice; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; import java.util.List; @@ -13,7 +15,14 @@ @Repository public interface NotificationRepository extends JpaRepository { - Slice findAllByReceiver_MemberIdOrderByCreatedAtDesc(Long receiverId, Pageable pageable); + @Query("SELECT n FROM NotificationEntity n " + + "JOIN FETCH n.task t " + + "JOIN FETCH n.receiver r " + + "WHERE n.receiver.memberId = :receiverId " + + "AND t.isDeleted = false " + + "ORDER BY n.createdAt DESC") + Slice findAllByReceiver_MemberIdOrderByCreatedAtDesc( + @Param("receiverId") Long receiverId, Pageable pageable); List findAllByReceiver_MemberId(Long memberId);