diff --git a/src/main/java/com/example/oneul/domain/post/dao/PostQueryRepository.java b/src/main/java/com/example/oneul/domain/post/dao/PostQueryRepository.java index c4bd437..6a2c4cf 100644 --- a/src/main/java/com/example/oneul/domain/post/dao/PostQueryRepository.java +++ b/src/main/java/com/example/oneul/domain/post/dao/PostQueryRepository.java @@ -4,11 +4,13 @@ import java.util.Optional; import com.example.oneul.domain.post.domain.Post; -import org.springframework.data.repository.CrudRepository; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @Repository -public interface PostQueryRepository extends CrudRepository{ +public interface PostQueryRepository extends JpaRepository{ Optional findById(Long id); - Iterable findAll(); + Page findAll(Pageable pageable); } diff --git a/src/main/java/com/example/oneul/domain/post/service/query/PostQueryService.java b/src/main/java/com/example/oneul/domain/post/service/query/PostQueryService.java new file mode 100644 index 0000000..01c8136 --- /dev/null +++ b/src/main/java/com/example/oneul/domain/post/service/query/PostQueryService.java @@ -0,0 +1,10 @@ +package com.example.oneul.domain.post.service.query; + +import com.example.oneul.domain.post.domain.Post; + +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; + +public interface PostQueryService { + Page findAll(PageRequest pageRequest); +} diff --git a/src/main/java/com/example/oneul/domain/post/service/query/PostQueryServiceImpl.java b/src/main/java/com/example/oneul/domain/post/service/query/PostQueryServiceImpl.java new file mode 100644 index 0000000..14ab690 --- /dev/null +++ b/src/main/java/com/example/oneul/domain/post/service/query/PostQueryServiceImpl.java @@ -0,0 +1,24 @@ +package com.example.oneul.domain.post.service.query; + +import com.example.oneul.domain.post.dao.PostQueryRepository; +import com.example.oneul.domain.post.domain.Post; + +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Service +@Transactional +public class PostQueryServiceImpl implements PostQueryService { + private final PostQueryRepository postQueryRepository; + + public PostQueryServiceImpl(PostQueryRepository postQueryRepository){ + this.postQueryRepository = postQueryRepository; + } + + @Override + public Page findAll(PageRequest pageRequest){ + return postQueryRepository.findAll(pageRequest); + } +}