Cooper's devlog

5-5. 답변 추가 및 목록 기능 구현 본문

Programming/Spring-boot

5-5. 답변 추가 및 목록 기능 구현

cooper_dev 2020. 7. 23. 00:50

1. 강의 링크

https://www.youtube.com/watch?v=GvVFQom_SGs&list=PLqaSEyuwXkSppQAjwjXZgKkjWbFoUdNXC&index=44


2. 학습 목표

  • 답변 추가 기능
  • 답변 목록 기능

 


3. 과정

1. 답변 추가 기능

(1) Answer(vo)

  • @ManyToOne : answer 여러개에 writer 한명 : (answer 기준에서 보는 것이 편하다)
  • @JoinColumn(foreignKey = @ForeignKey(name="FK 이름")) : 조인 및 FK이름 설정
  • 날짜 설정을 하기 위해 getFormattedCreateDate() 필요

 

 

(2) AnswerContorller

  • @RequestMapping("/questions/{questionId}/answer")
  • (question과 answer가 종속 관계일때, RequestMapping을 위와 같이 설정 추천)

 

 


2. 답변 목록 기능

(1) Question(vo) 수정

  • Question 객체에 answers 객체를 담아서 리턴하는 방식으로 접근
  • (기존 방식 : questionRepository.questionRepository.findById(id).get() 형태로 불러와야 한다.)
  • @OneToMany(mapppedBy = "question")
    • question 하나에 answers 여러개(question기준으로 바라보기)
    • mappedBy = "question" : Answer(vo)의 @ManyToOne의 객체명을 사용하면 된다.
  • @OrderBy("컬럼명 ASC") : '컬럼명' 기준 오름차순 정렬

 

(2) show.html

  • {{answers}} : answers 객체를 받아올 때 사용하는 mustache식 표현

  • {{formattedCreateDate}} : 날짜를 받아올 때 사용하는 mustache식 표현

  • 기존 button type → input type으로 변경하기

 


 

 

 

 

 

 

 

 

 

 

 

Comments