[Spring] - 작성자 정보가 입력되지 않는 오류 해결

그린·2023년 6월 13일

Spring

목록 보기
4/4

✔️오류 설명

Spring Boot로 게시판을 만들면서 여러 오류를 만났는데, 이 오류는 장장 1주일이 넘는 시간동안 해결하지 못했다. 코드 상 오류가 없는데 작성자 정보가 DB에 반영이 되지 않아 계속 null 값으로 나왔다.

✔️코드

BoardController

// 게시판 글 등록
    @PostMapping("/post")
    public ResponseEntity boardSave(HttpServletRequest request, @RequestBody BoardDto boardDto) {
        Member member = memberService.getMember(request);

        boardService.boardSave(member, boardDto);

        return ResponseEntity.ok().body(boardDto.getMemberId() + "success");
    }

BoardService

// 게시판 글 등록
    public Board boardSave(Member member, BoardDto boardDto) {
        boardDto.setMemberId(member.getMemberId());
        boardDto.setWriter(member.getKakaoNickname());

        Board board = boardRepository.save(boardDto.toEntity());

        board.setMember(member);

        System.out.println("저장된 memberId : " + board.getMember().getMemberId());

        return board;
    }

코드 상 오류가 없고, 콘솔에 member 정보를 찍어도 잘 나오는데 member id에 계속 null 값이 들어가서 그 이유를 찾다가 서비스에 @Transactional 어노테이션을 추가하니까 해결되었다 !!


오늘 본 학교 기말시험에도 @Transactinal에 대해 설명하는 문제가 나왔는데, 절대로 까먹지 않을 것 같다.

0개의 댓글