inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

양방향 연관관계와 연관관계의 주인 2 - 주의점, 정리

양방향 연관관계에서 객체끼리 연관관계를 맺어주는 이유

해결된 질문

402

김동민

작성한 질문수 19

0

안녕하세요! 어쩌면 간단한 질문일 수도 있겠습니다만, 좀 헷갈려서 여쭤봅니다.

양방향 연관관계를 맺어줄 때, 순수한 객체 관계를 고려하면 항상 양쪽다 값을 입력해야 한다고 강의에서 봤습니다. 그래서 연관관계 편의 메소드도 생성하고요.

그런데 문득 궁금해졌습니다. 서로 관계를 맺어준 객체들은 어차피 해당 메소드가 종료되면 사라지지 않나요? 결국 DB에 외래키를 가진 테이블 연관관계로만 존재할텐데, 곧 소멸될(?) 객체끼리의 참조 관계 설정을 왜 해줘야 하나 궁금합니다.

예를 들어 memberA에게 Team1의 참조 연관관계를 맺어준다고 해도 메소드가 종료되면 그 객체의 관계는 DB 테이블로만 남게 되니 아무 소용이 없지 않나 생각이 들었습니다.

혹시 해당 요청 내의 메소드 안에서 수월한 비즈니스 로직 처리를 위해 일회성으로 객체끼리 참조 연관관계를 맺어주는 걸까요?

java jpa

답변 1

1

나무늘보

안녕하세요. 김동민님, 공식 서포터즈 코즈위버 입니다.

객체간의 양방향 관계설정은 말씀하신것처럼 객체 그래프 탐색을 하기 위함입니다.

관계 설정이후 메소드가 바로 종료되어 버리는 경우라면 관계설정이 낭비일 수도 있지만, 한 트랜잭션 안에서 객체를 다시 사용하는 경우, 관계설정이 되어있지 않을 경우 NullPointerException 이 발생할 수 있습니다. 이를 방지하기 위해서 관계설정을 하는 것이 좋습니다.

 

감사합니다.

inheritance startegy 선택시 고려사항

0

11

0

Entity 동등성 비교

0

14

1

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

0

41

1

H2데이터베이스 파일 생성

0

52

2

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

0

49

2

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

0

48

1

JPQL 메소드와 락

0

53

1

Delivery @OneToOne

0

57

1

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

0

89

2

UnsupportedOperationException 발생

0

82

3

H2 Database 연결이 안됩니다.

0

89

2

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

0

82

2

h2데이터베이스 실행오류

0

105

2

persistence.xml

0

103

2

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

0

77

1

영속성 컨텍스트

0

62

1

JPA 프록시

0

90

1

Native Query와 MyBatis

0

63

1

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

0

84

1

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

0

112

3

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

0

91

3

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

0

106

2

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

0

137

1

양방향 연관관계 시 연관관계 주인을 설정하는 이유

0

68

1