연관관계에 대한 질문이 있습니다!
안녕하세요 강사님 jpa시리즈를 다 보고 기초를 다시 보고있는 도중 궁금한 점이 생겨서 질문 남겨봅니다!
우선 Member 와 OrderItem이라는 엔티티가 있을때, 만약 양방향 관계를 설정한다면
@Entity
public class Member {
@OneToMany(mappedby = member)
privte List<Order> orders = new ArrayList<>();
}
@Entity
public class Order {
@ManyToOne
@JoinColumn("member_id")
private Member member;
}
이런식으로 설계가 되겠는데, 강사님 께서는 Member에서 Orders를 갖고 있는게 좋은 설계가 아니라고 생각한다는 말씀을 하셨는데(실전예제2- 09:00),
그럼 Member엔티티에서 Order에 대한 연관관계를 지우면 Order에서 Member로 가는 단방향 연관관계만 남아있는데,
저는 여기서 Order에서 Member에 대한 연관 관계가 필요한지 궁금하더라고요. Orders를 가져올때 회원 아이디가 일치하는지 조회하는 정도만 한다면, 연관 관계를 빼고
@Entity
public class Order {
private Long memberId;
}
이런식으로 갖고 있어도 되는건지 궁금하더라고요.. 아님 필요 없더라도 무조건 Member에 대한 연관관계를 넣어주는 게 맞는건지 모르겠습니다 ..!
답변 1
3
안녕하세요. 참치캔님 좋은 질문입니다^^
생각하신 것 처럼 Order -> Member의 연관관계를 빼고 id만 가지고 있어도 됩니다^^
이렇게 하면 설계가 단순해지는 장점이 있습니다.
대신 단점은 JPA가 제공하는 fetch join 같은 기능을 사용할 수 없습니다.
감사합니다.
실무 조언 관련 질문입니다.
0
38
1
H2데이터베이스 파일 생성
0
46
2
서브쿼리 강의에서 ALL 예시 관련 질문드립니다.
0
47
2
수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?
0
45
1
JPQL 메소드와 락
0
48
1
Delivery @OneToOne
0
54
1
17강 4~5분대 테이블 값 조회가 안됩니다.
0
85
2
UnsupportedOperationException 발생
0
80
3
H2 Database 연결이 안됩니다.
0
87
2
연관관계 매핑 질문드립니다.
0
78
2
h2데이터베이스 실행오류
0
103
2
persistence.xml
0
101
2
양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?
0
75
1
영속성 컨텍스트
0
60
1
JPA 프록시
0
87
1
Native Query와 MyBatis
0
62
1
영속성 컨텍스트는 어떤 메모리에 저장되는건가요?
0
81
1
임베디드 타입 예시 코드 관련 질문
0
110
3
명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요
0
89
3
인텔리제이 패키지 커서 단축키 질문
0
101
2
혹시 현재는 ID 데이터 타입이 String이면 안되나요?
0
134
1
양방향 연관관계 시 연관관계 주인을 설정하는 이유
0
67
1
임베디드 타입과 MappedSuperClass의 차이점이 궁금합니다.
0
95
1
데이터베이스가 초기화되는 것 같아요
1
172
2





