jpablog : write comment(native query)

This commit is contained in:
kim
2021-02-02 14:43:41 +09:00
parent 20d9d1a8ba
commit 62c665b9f3
2 changed files with 20 additions and 11 deletions

View File

@@ -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<Reply, Long> {
@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);
}

View File

@@ -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);
}
}