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

강철님의 프로필 이미지
강철

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

영속성 컨텍스트 1

연관관계 질문

작성

·

42

0

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

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

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

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

너무 초보적인 질문인거같긴합니다만...

JPA를 활용해 공부하면서 토이프로젝트를 해보고 있는데,

모든 entity에 대해 연관관계를 반드시 지정해야 하는게 맞는지 궁금합니다.
필요한 경우에 대해서만 연관관계를 지정해주면 되는걸까요?
예를들어 member entity와 letter entity 가 존재한다고하면

letter entity에 member entity에 대한 연관관계만 지정해도되는건지 항상 양방향으로 지정해야하는 건지 궁금합니다.

 

항상 감사합니다.

답변 2

0

안녕하세요. 강철님, 공식 서포터즈 OMG입니다.

단방향으로 설계 후 필요 시 양방향 연관관계를 맺으면 됩니다 😀

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. 강철님.

여러분과 함께 JPA를 공부하고 연관관계 설정에 대한 질문에 대해 설명드리겠습니다.

연관관계 설정은 엔티티 설계 시 매우 중요한 부분 중 하나입니다. JPA에서는 각 엔티티들이 실제 데이터베이스의 테이블로 매핑됩니다. 이 과정에서 연관관계 설정은 테이블 간의 관계를 정의하게 됩니다. 그러나 모든 상황에서 반드시 연관관계를 지정할 필요는 없습니다. 필요한 경우에만 연관관계 설정을 해주시면 됩니다.

  • 단방향 관계: 한쪽 엔티티에서만 다른 엔티티를 참조하는 것입니다. 예를 들어 말씀하신 letter 엔티티가 member 엔티티를 참조하는 경우, letter 엔티티에만 연관관계를 두고, member 쪽에서는 letter 를 알 필요가 없다면 단방향 관계로 설정하면 됩니다. 이는 간단하고 이해하기 쉽습니다.

  • 양방향 관계: 두 엔티티가 서로를 참조하는 관계입니다. member 엔티티에서도 letter 엔티티를 참조하고 싶다면 양방향 관계를 설정해야 합니다. 양방향 관계는 객체지향적인 구조에서는 유용할 수 있으나, 관리해야 할 정보가 많아지고 복잡도가 증가할 수 있습니다.

추가로 참고할 질문 링크를 소개해드리겠습니다:
- “일대다 매핑시 질문있습니다.”: @ManyToOne 설정과 관련한 기초적인 이해에 도움이 됩니다.
- ”(해결완료) @OneToMany 관계 질문드립니다.”: 단방향, 양방향 관계 설정에 대한 기본 개념을 잡는데 유용합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

강철님의 프로필 이미지
강철

작성한 질문수

질문하기