From 67664eeef325a6e810eff8d852c2a9bb87e134f2 Mon Sep 17 00:00:00 2001 From: YJ Date: Fri, 7 Apr 2023 19:23:22 +0900 Subject: [PATCH 1/9] =?UTF-8?q?feat:=20@EntityGraph=20=EC=B6=94=EA=B0=80,?= =?UTF-8?q?=20TPS=20ngrinder=EB=A1=9C=20=ED=99=95=EC=9D=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/seatchoice/repository/CommentRepository.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/example/seatchoice/repository/CommentRepository.java b/src/main/java/com/example/seatchoice/repository/CommentRepository.java index aa014d1..ca5ba8b 100644 --- a/src/main/java/com/example/seatchoice/repository/CommentRepository.java +++ b/src/main/java/com/example/seatchoice/repository/CommentRepository.java @@ -3,12 +3,14 @@ import com.example.seatchoice.entity.Comment; import com.example.seatchoice.entity.Review; import java.util.List; +import org.springframework.data.jpa.repository.EntityGraph; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; @Repository public interface CommentRepository extends JpaRepository { - + + @EntityGraph(attributePaths = {"review"}) List findAllByReview(Review review); } From d7fe7e38961a2553b3a18ee30afc31af9639fe45 Mon Sep 17 00:00:00 2001 From: YJ Date: Sat, 8 Apr 2023 00:06:42 +0900 Subject: [PATCH 2/9] =?UTF-8?q?fix:=20TPS=20=EC=A0=84=ED=9B=84=20=ED=99=95?= =?UTF-8?q?=EC=9D=B8=EC=9D=84=20=EC=9C=84=ED=95=B4=EC=84=9C=20@EntityGraph?= =?UTF-8?q?=20=EC=A3=BC=EC=84=9D=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/seatchoice/repository/CommentRepository.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/com/example/seatchoice/repository/CommentRepository.java b/src/main/java/com/example/seatchoice/repository/CommentRepository.java index ca5ba8b..f93c457 100644 --- a/src/main/java/com/example/seatchoice/repository/CommentRepository.java +++ b/src/main/java/com/example/seatchoice/repository/CommentRepository.java @@ -9,8 +9,7 @@ @Repository public interface CommentRepository extends JpaRepository { - - @EntityGraph(attributePaths = {"review"}) +// @EntityGraph(attributePaths = {"review"}) List findAllByReview(Review review); } From 8e53b487421e5f2be81475eb5903b566ba3607e7 Mon Sep 17 00:00:00 2001 From: YJ Date: Sat, 8 Apr 2023 18:38:12 +0900 Subject: [PATCH 3/9] =?UTF-8?q?fix:=20native=20=EC=BF=BC=EB=A6=AC=EB=A1=9C?= =?UTF-8?q?=20=EB=B3=80=EA=B2=BD=ED=95=B4=EC=84=9C=20=ED=95=9C=EB=B2=88?= =?UTF-8?q?=EC=97=90=20=EC=A1=B0=EC=9D=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/CommentRepository.java | 20 +++++++++++++++---- .../seatchoice/service/CommentService.java | 2 +- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/example/seatchoice/repository/CommentRepository.java b/src/main/java/com/example/seatchoice/repository/CommentRepository.java index f93c457..f30c915 100644 --- a/src/main/java/com/example/seatchoice/repository/CommentRepository.java +++ b/src/main/java/com/example/seatchoice/repository/CommentRepository.java @@ -1,15 +1,27 @@ package com.example.seatchoice.repository; import com.example.seatchoice.entity.Comment; -import com.example.seatchoice.entity.Review; import java.util.List; -import org.springframework.data.jpa.repository.EntityGraph; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; @Repository public interface CommentRepository extends JpaRepository { -// @EntityGraph(attributePaths = {"review"}) - List findAllByReview(Review review); + + @Query( + value = + "SELECT" + + " c.id as id," + + " c.content as content, " + + " c.updatedAt as updatedAt, " + + " m.nickname as nickname, " + + " m.id as userId " + + " FROM Comment c" + + " JOIN Member m" + + " ON c.member.id = m.id" + + " WHERE c.review.id = :reviewId " + ) + List findAllByReview(Long reviewId); } diff --git a/src/main/java/com/example/seatchoice/service/CommentService.java b/src/main/java/com/example/seatchoice/service/CommentService.java index c01e004..fcaddc9 100644 --- a/src/main/java/com/example/seatchoice/service/CommentService.java +++ b/src/main/java/com/example/seatchoice/service/CommentService.java @@ -90,7 +90,7 @@ public List list(Long reviewId) { Review review = reviewRepository.findById(reviewId) .orElseThrow(() -> new CustomException(NOT_FOUND_REVIEW, HttpStatus.NOT_FOUND)); - return commentRepository.findAllByReview(review).stream() + return commentRepository.findAllByReview(review.getId()).stream() .map(CommentResponse::from).collect(Collectors.toList()); } From d218cf8078f37c415bcf5276b16a2d9229ff899e Mon Sep 17 00:00:00 2001 From: YJ Date: Sat, 8 Apr 2023 18:46:39 +0900 Subject: [PATCH 4/9] =?UTF-8?q?fix:=20@param=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/seatchoice/repository/CommentRepository.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/example/seatchoice/repository/CommentRepository.java b/src/main/java/com/example/seatchoice/repository/CommentRepository.java index f30c915..04cb0cb 100644 --- a/src/main/java/com/example/seatchoice/repository/CommentRepository.java +++ b/src/main/java/com/example/seatchoice/repository/CommentRepository.java @@ -4,6 +4,7 @@ import java.util.List; 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; @Repository @@ -22,6 +23,6 @@ public interface CommentRepository extends JpaRepository { + " ON c.member.id = m.id" + " WHERE c.review.id = :reviewId " ) - List findAllByReview(Long reviewId); + List findAllByReview(@Param("reviewId") Long reviewId); } From 47066629b71ba176d54c616fe1727f84e9336511 Mon Sep 17 00:00:00 2001 From: YJ Date: Sat, 8 Apr 2023 19:32:18 +0900 Subject: [PATCH 5/9] =?UTF-8?q?fix:=20=EC=B2=98=EC=9D=8C=20=EC=83=81?= =?UTF-8?q?=ED=83=9C=EB=A1=9C=20=EB=90=98=EB=8F=8C=EB=A6=BC.=20=EC=BF=BC?= =?UTF-8?q?=EB=A6=AC=20=ED=99=95=EC=9D=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repository/CommentRepository.java | 21 ++++--------------- .../seatchoice/service/CommentService.java | 2 +- 2 files changed, 5 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/example/seatchoice/repository/CommentRepository.java b/src/main/java/com/example/seatchoice/repository/CommentRepository.java index 04cb0cb..f93c457 100644 --- a/src/main/java/com/example/seatchoice/repository/CommentRepository.java +++ b/src/main/java/com/example/seatchoice/repository/CommentRepository.java @@ -1,28 +1,15 @@ package com.example.seatchoice.repository; import com.example.seatchoice.entity.Comment; +import com.example.seatchoice.entity.Review; import java.util.List; +import org.springframework.data.jpa.repository.EntityGraph; 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; @Repository public interface CommentRepository extends JpaRepository { - - @Query( - value = - "SELECT" - + " c.id as id," - + " c.content as content, " - + " c.updatedAt as updatedAt, " - + " m.nickname as nickname, " - + " m.id as userId " - + " FROM Comment c" - + " JOIN Member m" - + " ON c.member.id = m.id" - + " WHERE c.review.id = :reviewId " - ) - List findAllByReview(@Param("reviewId") Long reviewId); +// @EntityGraph(attributePaths = {"review"}) + List findAllByReview(Review review); } diff --git a/src/main/java/com/example/seatchoice/service/CommentService.java b/src/main/java/com/example/seatchoice/service/CommentService.java index fcaddc9..c01e004 100644 --- a/src/main/java/com/example/seatchoice/service/CommentService.java +++ b/src/main/java/com/example/seatchoice/service/CommentService.java @@ -90,7 +90,7 @@ public List list(Long reviewId) { Review review = reviewRepository.findById(reviewId) .orElseThrow(() -> new CustomException(NOT_FOUND_REVIEW, HttpStatus.NOT_FOUND)); - return commentRepository.findAllByReview(review.getId()).stream() + return commentRepository.findAllByReview(review).stream() .map(CommentResponse::from).collect(Collectors.toList()); } From f83b8ea4ab945365c4de9f812a8b89d77eb3823a Mon Sep 17 00:00:00 2001 From: YJ Date: Sun, 9 Apr 2023 03:21:06 +0900 Subject: [PATCH 6/9] =?UTF-8?q?fix:=20@EntityGraph=20member=20=ED=85=8C?= =?UTF-8?q?=EC=9D=B4=EB=B8=94=EC=97=90=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/seatchoice/repository/CommentRepository.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/example/seatchoice/repository/CommentRepository.java b/src/main/java/com/example/seatchoice/repository/CommentRepository.java index f93c457..31fa046 100644 --- a/src/main/java/com/example/seatchoice/repository/CommentRepository.java +++ b/src/main/java/com/example/seatchoice/repository/CommentRepository.java @@ -9,7 +9,7 @@ @Repository public interface CommentRepository extends JpaRepository { -// @EntityGraph(attributePaths = {"review"}) + @EntityGraph(attributePaths = {"member"}) List findAllByReview(Review review); } From d1da4a21ffa33bf9666764cc17d033fa3d34b580 Mon Sep 17 00:00:00 2001 From: YJ Date: Sun, 9 Apr 2023 04:46:04 +0900 Subject: [PATCH 7/9] =?UTF-8?q?fix=20:=20@EntityGraph=20=EC=A0=9C=EA=B1=B0?= =?UTF-8?q?=20#2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/seatchoice/repository/CommentRepository.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/example/seatchoice/repository/CommentRepository.java b/src/main/java/com/example/seatchoice/repository/CommentRepository.java index 31fa046..b47e2db 100644 --- a/src/main/java/com/example/seatchoice/repository/CommentRepository.java +++ b/src/main/java/com/example/seatchoice/repository/CommentRepository.java @@ -9,7 +9,7 @@ @Repository public interface CommentRepository extends JpaRepository { - @EntityGraph(attributePaths = {"member"}) +// @EntityGraph(attributePaths = {"member"}) List findAllByReview(Review review); } From df85447b60812100087891741561cd24d8515c3b Mon Sep 17 00:00:00 2001 From: YJ Date: Sun, 9 Apr 2023 13:55:24 +0900 Subject: [PATCH 8/9] =?UTF-8?q?feat:=20batch=20fetch=20size=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80,=20format=5Fsql=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/application.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 0f3a491..c88589d 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -14,6 +14,10 @@ spring: hibernate: ddl-auto: update show-sql: true + properties: + hibernate: + format_sql: true + default_batch_fetch_size: 100 # 이미지 용량 servlet: From 500b34548e76468db7b2e08b3d0bd67ae5d72c01 Mon Sep 17 00:00:00 2001 From: YJ Date: Sun, 9 Apr 2023 18:21:52 +0900 Subject: [PATCH 9/9] =?UTF-8?q?fix:=20join=EC=B6=94=EA=B0=80=EB=A1=9C=20?= =?UTF-8?q?=EC=BF=BC=EB=A6=AC=20=ED=95=9C=EC=A4=84=20=EC=A4=84=EC=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../seatchoice/repository/reviewPaging/ReviewRepositoryImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/example/seatchoice/repository/reviewPaging/ReviewRepositoryImpl.java b/src/main/java/com/example/seatchoice/repository/reviewPaging/ReviewRepositoryImpl.java index 905fff4..346a95e 100644 --- a/src/main/java/com/example/seatchoice/repository/reviewPaging/ReviewRepositoryImpl.java +++ b/src/main/java/com/example/seatchoice/repository/reviewPaging/ReviewRepositoryImpl.java @@ -25,6 +25,7 @@ public Slice searchBySlice(Long lastReviewId, Long seatId, Pageable pageable) { List reviews = queryFactory .selectFrom(review) + .join(review.theaterSeat).fetchJoin() .where( ltReviewId(lastReviewId), // review.id < lastReviewId review.theaterSeat.id.eq(seatId)