From 62c665b9f3dfd5c5c7b2e84c7bd4f5151ae71726 Mon Sep 17 00:00:00 2001 From: kim Date: Tue, 2 Feb 2021 14:43:41 +0900 Subject: [PATCH] jpablog : write comment(native query) --- .../jpablog/repository/ReplyRepository.java | 10 +++++++++ .../example/jpablog/service/BoardService.java | 21 +++++++++---------- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/jpablog/src/main/java/com/example/jpablog/repository/ReplyRepository.java b/jpablog/src/main/java/com/example/jpablog/repository/ReplyRepository.java index ea6ec70a..9f0ebef6 100644 --- a/jpablog/src/main/java/com/example/jpablog/repository/ReplyRepository.java +++ b/jpablog/src/main/java/com/example/jpablog/repository/ReplyRepository.java @@ -1,9 +1,19 @@ package com.example.jpablog.repository; +import com.example.jpablog.dto.ReplySaveRequestDto; import com.example.jpablog.model.Reply; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; @Repository public interface ReplyRepository extends JpaRepository { + + @Modifying(clearAutomatically = true) + @Query(value = + "insert into reply(user_id, board_id, content, create_date) " + + "values(:#{#dto.userId}, :#{#dto.boardId}, :#{#dto.content}, now())", nativeQuery = true) + void replySave(@Param("dto")ReplySaveRequestDto replySaveRequestDto); } diff --git a/jpablog/src/main/java/com/example/jpablog/service/BoardService.java b/jpablog/src/main/java/com/example/jpablog/service/BoardService.java index c92e9ef7..c6cf55a3 100644 --- a/jpablog/src/main/java/com/example/jpablog/service/BoardService.java +++ b/jpablog/src/main/java/com/example/jpablog/service/BoardService.java @@ -2,7 +2,6 @@ package com.example.jpablog.service; import com.example.jpablog.dto.ReplySaveRequestDto; import com.example.jpablog.model.Board; -import com.example.jpablog.model.Reply; import com.example.jpablog.model.User; import com.example.jpablog.repository.BoardRepository; import com.example.jpablog.repository.ReplyRepository; @@ -64,15 +63,15 @@ public class BoardService { @Transactional public void 댓글쓰기(ReplySaveRequestDto replySaveRequestDto) { - User user = userRepository.findById(replySaveRequestDto.getUserId()) - .orElseThrow(() -> new IllegalArgumentException("댓글쓰기 실패")); - Board board = boardRepository.findById(replySaveRequestDto.getBoardId()) - .orElseThrow(() -> new IllegalArgumentException("댓글쓰기 실패")); - Reply reply = Reply.builder() - .user(user) - .board(board) - .content(replySaveRequestDto.getContent()) - .build(); - replyRepository.save(reply); +// User user = userRepository.findById(replySaveRequestDto.getUserId()) +// .orElseThrow(() -> new IllegalArgumentException("댓글쓰기 실패")); +// Board board = boardRepository.findById(replySaveRequestDto.getBoardId()) +// .orElseThrow(() -> new IllegalArgumentException("댓글쓰기 실패")); +// Reply reply = Reply.builder() +// .user(user) +// .board(board) +// .content(replySaveRequestDto.getContent()) +// .build(); + replyRepository.replySave(replySaveRequestDto); } }