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

강종헌님의 프로필 이미지

작성한 질문수

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

엔티티 클래스 개발2

parent 와 child 관계

24.01.09 11:47 작성

·

338

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

parent는 여러 child를 가질수 있기에 OneToMany로 보여지고

여러 child는 1명의 부모를 두기에 ManyToOne으로 보이는데 왜 코딩에서는 아래처럼 관계 설정 되어 있는지 이해가 안가네요.

@ManyToOne
private Category parent;

@ManyToOne
private List<Category> child = new ArrayList<>();

답변 2

1

Kim DongKyun님의 프로필 이미지

2024. 01. 09. 12:01

해당 어노테이션은 엔티티의 필드에 선언되는데요!

 

class Parent{
@OneToMany
private List<Child> child;
}
class Child{
@ManyToOne
private Parent child;
}

위와 같이

 

1.

class Parent 는 One

자식인 List<Child> 는 Many

 

2.

class Child 는 Many

부모인 Parent 는 One 관계라고 이해하면 편할 것 같습니다.

 

즉,

 

Child @Many

to

One Parent

 

Parent @One

to

Many Child

 

이렇게 보시면 편할 듯 해요!

강종헌님의 프로필 이미지
강종헌
질문자

2024. 05. 07. 12:27

클래스까지 같이 코드에서 보니 관계가 명확하네요

고맙습니다.

0

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

2024. 01. 10. 17:00

Kim DongKyun님께서 잘 설명해주셨네요.

추가로 궁금한 점이 있으면 문의 남겨주세요 🙂