작성
·
606
답변 2
3
안녕하세요. Max H님
같은 카테고리를 계층구조(셀프 조인)로 만들기 때문에 이런 현상이 있는데요. 쉽게 설명드리기 위해 Category가 2개 있다고 가정해보겠습니다.
ParentCategory {
@Id Long id
}
ParentCategory 테이블
- PK id
ChildCategory {
@Id Long id
@ManyToOne
@JoinColumn(name = "parent_id")
private Category parent;
}
ChildCategory 테이블
- PK id
- FK parent_id
ChildCategory 테이블은 ParentCategory 테이블과 조인을 위해 FK로 parent_id를 가지게 됩니다.
그리고 조인을 하게 되면 기본으로 ParentCategory의 PK와 조인이 됩니다.
다음을 참고해보시면 도움이 되실거에요.
https://www.inflearn.com/questions/113969
감사합니다.
0
저거 무슨소린지 잘 모르겠는데...
category에서 변수명을 parent로 했잖아요
근데 parent에는 그냥 id만 있을뿐인데 어떻게 joincolumn을 parent_id로 하는거죠? 그냥 id여야하는거아닌가요?
안녕하세요. 김민지님
parent_id가 FK로 생성되기 때문입니다.
이 부분은 직접 코드로 만들에서 테스트해보시고, 생성되는 테이블을 비교해보시면 이해가 되실꺼에요.
감사합니다.