[2021-04-05 월] TIL

노을·2021년 6월 8일
0

TIL

목록 보기
67/81

  • Answer에 Question 정보가 담기지 않는 점을 확인 했다.
  • AnswerService에서 save를 할 때 Question을 주입해주도록 했다.

트러블 슈팅2


댓글작성 및 삭제를 할 때 카운트를 하기 위해 Question 정보가 필요한대

댓글이 참조하고 있는 Question 데이터르 answer.getQuestion(); 통해 불러왔더니

null임을 확인할 수 있었다..

  • 이유는 아직 모른다.
    • 저장할 당시에 당연히 Question 정보가 없지...ㅋㅋㅋ그래서 추가로 넣어줘야 한다.
@PostMapping("") // 댓글작성하고 버튼 눌렀을 때
    public Answer createAnswer(Answer answer, @PathVariable("question.id") Long questionId, HttpSession session) {
        Question questionData = questionService.findById(questionId);
        Question questionData2 = answer.getQuestion();

        if(questionData.equals(questionData2)){
            System.err.println("똑같음");
            System.err.println("똑같음");
            System.err.println("똑같음");
            System.err.println("똑같음");
            System.err.println("똑같음");
            System.err.println("똑같음");
        }else{
            System.err.println("다름");
            System.err.println("다름");
            System.err.println("다름");
            System.err.println("다름");
            System.err.println("다름");
            System.err.println("다름");
        }

질문 목록에 답변 수 보여주기 기능 추가


https://www.youtube.com/watch?v=E_Iov1Vd2TU&feature=youtu.be

답변 수 구현 방법

    1. SELECT의 COUNT문을 사용
    • 나날이 증가하는 게시글 수 + 댓글 수를 연산은 무리
    1. Question 클래스에서 댓글 수(Integer countOfAnswer)를 관리

트러블슈팅


양방향참조를 제대로 안해주고 @JsonIgnore 식으로 때웠더니

여기서 문제가 생긴 것 같다.

댓글을 생성할 때, question에 접근을 해야하는데, id정보말고 올바른게 하나도 없다.

날짜정보의 경우 게시글의 작성일이 아닌 댓글 작성일이 표시돼는데...

삭제에 필요한 정보는 아이디니까 미션 수행은 가능하므로, 일단 지나가자.

미션을 완료하고나면 양방향참조에 대해서 공부를 해봐야할 것 같다.

  • 지금보니까 Ajax로 생성한 댓글인 경우 이런 것 같다.
    • 이유는 아직 모르겠지만, 새로고침 후 삭제를 하게 될 경우 정상적으로 참조가 된다.
profile
카르페디엠

0개의 댓글