72. 댓글 작성시 네이티브 쿼리 사용해보기
by 볼빵빵오춘기지난강의에서
댓글 작성시 해당 DB에 넣어야할 데이터들을 DTO로 만들어서 매개변수로 넣어서 댓글작성 완성했다.
하지만 Service에 값을 넣을때 Object를 찾아서 넣어야하기때문에 찾는것자체(=영속화)가 귀찮아진다.
ReplyRepository
JPA 에 mSave()란 것은 없다. 따라서 알려줘야한다.
how?
mSave()위에 @Query 를 붙여줘서 이것이 어떤 역할을 하는지 알려준다.
더보기
아래와 같은 error가 뜬다면
코드에 @Modifying 를 안붙여서이다.
why? insert, delete, update를 하면 업데이를 한 개수를 리턴해준다.
@Modifying
@Query(value = "insert into meta_reply( userId, boardId,content) values(?,?,?) ",nativeQuery = true)
int mSave(int userId, int boardId, String content ); // 업데이트된 행의 개수를 리턴해줌.
BoardService
@Transactional
public void 댓글쓰기3(ReplySaveRequestDto replySaveRequestDto){
replyRepository.mSave(replySaveRequestDto.getUserId(),replySaveRequestDto.getBoardId(),replySaveRequestDto.getContent());
}
BoardApiController
@PostMapping("/api/board/{boardId}/reply")
public ReplySaveRequestDto.ResponseDto<Integer> replaySave(@RequestBody ReplySaveRequestDto replySaveRequestDto){
boardService.댓글쓰기3(replySaveRequestDto);
return new ReplySaveRequestDto.ResponseDto<Integer>(HttpStatus.OK.value(),1);
}
'강의 따라하기 > blog' 카테고리의 다른 글
75. 댓글 삭제 (0) | 2024.01.14 |
---|---|
73. @Autowired의 원리 (1) | 2024.01.11 |
71. 댓글 작성시 Dto 사용해보기 (1) | 2024.01.11 |
70. 댓글 작성하기 (0) | 2024.01.10 |
69. 댓글 목록 뿌리기 (1) | 2024.01.10 |
블로그의 정보
Hello 춘기's world
볼빵빵오춘기