inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

엔티티 설계시 주의점

member, order 간에 연관관계를 입력할때 왜 둘다 입력해줘야 하나요?

541

leesh83

작성한 질문수 1

0


1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 아니오

[질문 내용]
이전 도메인 설계 강의 듣기로 연관관계에 있는 두 엔티티의 관계를 변경하려면, 주인엔티티의 값을 변경하면 된다고 하셨고, mappedBy 가 선언된 종속(?)엔티티는 값을 변경하더라도 연관관계가 변경되지 않는다고 하셨던것 같은데요. 그럼 연관관계를 설정할때 주인엔티티에만 설정해주면 되지 않나요? 이 강의에서 나오는 연관관계 메소드에서는 Order 엔티티에도 member를 세팅해주고, Memeber 엔티티의 List<Order>에도 order 를 add해주도록 되어 있어서 왜 둘다 세팅하는지 문의드립니다.

spring-boot 웹앱 웹앱 spring jpa JPA java

답변 1

3

나무늘보

안녕하세요, leesh83 님! 공식 서포터즈 codesweaver 입니다.

'객체 그래프 탐색' 방향은 단방향 혹은 양방향으로 할 수 있습니다.

(강의 내용에서도 언급하듯 사실 양방향은 단방향+단방향일 뿐입니다)

 

요구사항이 '회원'을 주문한 후 그와 관련한 '주문'을 조회해야 한다면 다음은 타당해 보입니다. (Member -> Order)

 

그리고 주문을 조회할 땐 보통 주문자 정보도 같이 조회해야 합니다. 그러니 다음의 그래프 탐색도 타당한합니다. (Order -> Member)

 

이처럼 요구사항에 따라 객체간의 관계를 단방향 혹은 양방향으로 설정할 수 있습니다.

강의에서는 다양한 경우의 수를 보여주기 위해 여러 상황을 보여주고 있습니다.

감사합니다.

0

leesh83

아 양방향으로 조회/탐색을 하려면 둘다 연관관계 설정을 해주어야 한다는 말씀이시네요 자세한 답변 감사합니다

OrderServiceTest 상문주문 테스트 시 update 쿼리 문의

0

23

1

sdk 설정 오류

0

59

2

오탈자 - @Transactional

0

58

1

src/test/resources 테스트 경로 문제

0

54

1

상품 등록후 H2 db 출력 순서 바꿀 수 있나요?

0

67

1

MemberRepositoryTest 실행오류

0

83

1

boot 4.x >>> trasasction rolled back log & p6spy(영한님, 수업 자료 업데이트 해주시면 감사하겠습니다!!)

1

187

2

강의 마지막 QueryDSL 사용 부분 질문있습니다

1

146

2

클라이언트에서 isbn과 author 수정 요청을 한 경우에 대해 질문드립니다.

0

54

1

도메인 모델 패턴 vs 트랜잭션 스크립트 패턴

0

77

1

기본 생성자

0

62

1

h2 DB 연결시 jdbc url 변경 이유가 궁금합니다.

0

104

1

멤버서비스테스트 부분에서 막힙니다.

0

168

4

실무에서도 EntityManager를 이용해서 많이 작업하는 편일까요?

0

118

1

초반에 h2 다운로드 과정 꼭 필요한가요?

0

122

2

자신 필드에도 get으로 접근하는 이유가 있을까요?

0

115

1

24분 27초 연관관계 편의 메서드 위치

0

114

1

단건 주문만 가능하게 한건 의도한 부분이신가요?

0

112

2

빌드 툴, Gradle

0

61

1

h2연결은 된 것 같은데 엔티티 테이블까지 작성 후 확인해보아도 테이블이 안보입니다

0

78

2

Repository에서 EntityManager 주입 방식 차이

0

91

1

롬복과 사용자 정의 setter 메서드

0

74

1

주문 목록 조회 fetch join 질문드립니다

0

85

1

dirty checking 질문드립니다.

0

84

1