인프런 커뮤니티 질문&답변

개발한입님의 프로필 이미지

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

엔티티 클래스 개발2

카테고리 부분 관련해서 질문이 있습니다.

해결된 질문

작성

·

247

0

안녕하세요? 김영한님 강의 매우 잘 보고있습니다 ㅎㅎ

다름이 아니라, 엔티티 클래스 개발2의 카테고리 계층 구조관련해서 질문을 드리고자합니다.

셀프로 계층 구조를 만드는 부분인데

제 생각은 하나의 부모가 여러개의 자식을 가지니, @OneToMany가 parent 자식이 하나의 부모를 가지니 @ManyToOne이라고 생각이 듭니다.

하지만 강의 코드를 보면,

@ManyToOne
@JoinColumn(name = "parent_id")
private Category parent;


@OneToMany(mappedBy = "parent")
private List<Category> chlid = new ArrayList<>();​

이런식으로 적혀있는데 이건 거꾸로된거아닌가요?

답변 2

4

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 신수웅님

연관관계는 현재 객체를 중심으로 생각하면 됩니다.

카테고리의 현재 객체는 여러 자식을 가실 수 있고 또 추가로 하나의 부모도 가질 수 있습니다.

예를 들어서 현재 객체 @OneToMany child 라고 하면 현재 객체가 여러 자식을 가진다로 이해하시면 됩니다.

그리고 현재 객체 @ManyToOne parent 라고 하면 현재 객체는 하나의 부모를 가진다로 이해하시면 됩니다.

도움이 되셨길 바래요. 추가로 연관관계 설정에 대한 자세한 부분은 JPA 기본편 강의를 참고해주세요^^

1

개발한입님의 프로필 이미지
개발한입
질문자

친절한 답변 너무 감사드립니다.

기본편 강의를 나름 열심히 들었다 생각했는데 해당 부분이 계속 헷갈렸는데 이제 완전히 이해가 된 것같습니다.