사실 연관관계는 하나 밖에 없다?
데이터 칸에 들어갈 수 있는 데이터의 개수는 1개이다**(중요)
예로 id 1,2 이런식으로 들어갈 수 없다
데이터베이스 컬럼 하나에는 값이 하나빡에 들어가지 못한다 (꼭 인지)
테이블의 필드값으로
리스트는 본질적으로 들어가는 것이 불가능하다
쓰지말고 그냥 테이블 하나로 사용하자
불가능한건 없지만 복잡한 길이다
테이블 쪼개면 골치 아프다...
억지로 테이블을 나누지 말자


여기서 우리가 유심히 봐야할 부분은 바로
private List<Comment> comments = new ArrayList<>();

근데 리스트가 있다??
사실상 유일한 연관관계 (=N:1 사실상 같은말)
리스트?
실제 데이터 베이스에는 존재하지 않는 개념
JPA가 해주는 것
4차원을 상상하기에는 어렵다
실제론 없지만 마치 있는 것처럼 JPA가 해준다
@OneToMany 는 @ManyToOne이 없으면 존재할 수 없다 (이건 법칙 @ManyToOne 이 있어야 @OneToMany가 올수 있다)@ManyToOne부터 일단 넣고 생각하기@ManyToOne 더 개수가 많은 놈한테 건다(@OneToMany만 List<>가 온다)@ManyToOne 2개 선언해주면 된다.@ManyToOne에는 무조건 (fetch = FetchType.LAZY)(같이 가는것)를 걸어줘야한다@ManyToOne의 단짝 @JoinColumn(name = ("내가매핑할놈의(상대방) id") -> 그냥 써주자@OneToMany에게 무조건 해줘야 하는것(mappedBy = "나자신")사실 이런건 존재하지 않는다
그냥 @ManyToOne을 2번 쓰면 그게 바로 N:M이다
그러므로 사실상 존재하지 않는다
리스트를 필드에 선언할 수 없기 때문에 중간에 @ManyToOne을 2개 가지는 테이블을 만들어준다
그리고 각각 있었던 엔티티에 필요하면 @OneToMany를 사용해준다
흐름상 @ManyToOne을 걸고 나서 @OneToMany를 걸지 말지를 판단하자

@OneToMany(mappedBy = "board", cascade = CascadeType.REMOVE)
private List<Comment> comments = new ArrayList<>();
참고
누군가 8080을 사용하고 있다면?
kill $(lsof -t -i:8080) 을 이용하자