개발 기록

211120 구현테스트(1119) 복습 본문

TIL

211120 구현테스트(1119) 복습

수염차 2021. 11. 20. 11:40

*controller에서 특정 html로 이동이 계속 안 됐다 ㅠㅠ 답지 보고 해결

@GetMapping("/articles/{id}")
    public String readArticle() {
        return "view";
    }

return 시에 view 파일을 못 읽고 Cannot resolve MVC view 'view' 가 계속 떴다.

 

-application.properties 에 해당 코드 추가 

spring.thymeleaf.prefix=classpath:/static/

-dependencies 에 추가

implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'

 

근데..! 프론트엔드 분리할면 타임리프 쓰면 안 된다고 했는데 모징?! 

 

 

*연관관계 매핑 !

게시물 하나에 댓글 여러개를 달 수 있으므로 게시물:댓글 = 1:n 이다.

엔티티 클래스에 양방향매핑을 해준다.

 

@OneToMany(mappedBy = "article")
    private List<Comment> comments;
    //article 클래스에는 OneToMany를 입력해주고 article을 매핑하여 댓글들을 가져온다.
    @JsonIgnore
    @ManyToOne
    @JoinColumn(name = "article_idx", nullable = false)
    private Article article;
    //comment 클래스에는 @ManyToOne 입력. 
    //매핑할 외래키 컬럼 이름 지정  name = "article_idx" article 기본키 컬럼명

@JsonIgnore 붙여주면 json으로 데이터 보내질때 빠진다

 

이렇게 해주면 댓글 등록 시 해당 게시물 id가 컬럼으로 들어간다. (컨트롤러랑 서비스에도 코드 추가하면)

 

id로 게시물 데이터를 불러오면 댓글 리스트가 추가 됐다 !

신기신기

 

참고자료

https://yellowh.tistory.com/121

 

[JPA]연관관계 매핑(1) - 기본

 <참고 자료> 자바 ORM 표준 JPA 프로그래밍 김영한 저, 에이콘  <소스코드 디자인> http://colorscripter.com 엔티티들은 대부분 다른 엔티티와 연관관계가 있다. 1:1, 1:N, N:1, N:N 의 방향성을 가지고 있다.

yellowh.tistory.com

 

'TIL' 카테고리의 다른 글

211122 TIL (@Transactional,예약어)  (0) 2021.11.22
211121 WIL  (0) 2021.11.21
211118 타임어택(1001) 스프링으로 바꾸기  (0) 2021.11.18
211117 스프링 구현테스트 복습  (0) 2021.11.17
211115 도커  (0) 2021.11.15
Comments