Hello

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

볼빵빵오춘기

활동하기