inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

다대일 [N:1]

Member엔티티와 Order엔티티의 일대다 연관관계 불필요성

240

창신동 장첸

작성한 질문수 115

0

https://www.inflearn.com/questions/66107 글에 답변주신 내용중에 질문있습니다.

"오히려 주문, 배송 등등 객체 각각이 살아있어서 필요한 곳을 참조하는 식으로 설계하는게 더 좋은 설계 방법" 말씀하신 내용중에  '필요한 곳을 참조하는 식' 이 부분 설명이 이해가가지 않습니다.

혹시, Member-Order 간의 연관관계에서 Member엔티티 클래스안에 @OneToMany List<Order>일대다 연관관계를 c끊어내므로서 Member로 Order엔티티객체에 접근할 수 없게만들고

직접 em.find 나 em.createQuery 로 Order엔티티객체를 얻어내라는 말씀이신가요?

JPA java

답변 1

1

David

안녕하세요. ddoddo님, 공식 서포터즈 David입니다.

.

먼저, 표현이 조금 이상할 순 있지만 죽어있는 객체에 대해 말씀드리겠습니다.

특정 회원과 관련된 배송, 주문 등의 정보를 찾으려면 무조건 "회원" 객체를 거쳐야 할 때 죽어있는 객체가 됩니다.

내가 찾고자 하는 것의 핵심은 "배송", "주문"입니다. 다만, 그것들을 찾는 조건이 특정 회원일 뿐입니다.

주객이 전도되어 배송을 찾고 싶은데 회원을 거쳐야만 찾을 수 있는 것입니다.

객체 각각이 살아있다는 것은 배송을 찾아내기 위해 회원에 접근하는 것이 아니라, 주문을 찾아내기 위해 주문에 접근하는 것입니다.

주문 객체는 주문의 주체(Orderer)에 대한 정보를 가지고 있을 것입니다.

만약 이렇게 설계되어 있다면 특정 회원이 주문한 주문 건들을 찾기 위해 회원을 거치지 않고 바로 주문에서 찾을 수 있을 것입니다.

이런 맥락에서 "오히려 주문, 배송 등등 객체 각각이 살아있어서 필요한 곳을 참조하는 식으로 설계하는게 더 좋은 설계 방법" 이라고 말씀하신 것 같습니다.

.
감사합니다.

0

창신동 장첸

책 p.327과 임베디드 값타입 강의에서도 표현방법에 관해 말씀을 하셨는데 제가 잊고있었습니다.

엔티티 특성: 공유가능함, 참조한다고 표현

값타입 : 공유불가능함, 포함한다고 표현

따라서 '필요한 곳을 참조하는 식' 이라는 의미는 주문, 배송 엔티티를 직접 사용한다는 의미로 말씀하신것으로 이해됐습니다.

감사합니다.

벌크연산에서 member.getAge 호출 시 영속성 컨텍스트에서 데이터를 가져오는건가요?

0

33

2

inheritance startegy 선택시 고려사항

0

24

1

Entity 동등성 비교

0

24

1

실무 조언 관련 질문입니다.

0

48

1

H2데이터베이스 파일 생성

0

59

2

서브쿼리 강의에서 ALL 예시 관련 질문드립니다.

0

57

2

수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?

0

58

1

JPQL 메소드와 락

0

56

1

Delivery @OneToOne

0

62

1

17강 4~5분대 테이블 값 조회가 안됩니다.

0

98

2

UnsupportedOperationException 발생

0

89

3

H2 Database 연결이 안됩니다.

0

98

2

연관관계 매핑 질문드립니다.

0

88

2

h2데이터베이스 실행오류

0

110

2

persistence.xml

0

112

2

양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?

0

83

1

영속성 컨텍스트

0

70

1

JPA 프록시

0

100

1

Native Query와 MyBatis

0

74

1

영속성 컨텍스트는 어떤 메모리에 저장되는건가요?

0

93

1

임베디드 타입 예시 코드 관련 질문

0

121

3

명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요

0

96

3

인텔리제이 패키지 커서 단축키 질문

0

109

2

혹시 현재는 ID 데이터 타입이 String이면 안되나요?

0

149

1