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

우디님의 프로필 이미지
우디

작성한 질문수

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

강의를 듣다가 궁금합니다 (양방향 연관관계)

해결된 질문

작성

·

112

1

Member와 Team의 양뱡향 연관관계 강의 내용중에 궁금한게 있습니다.

위의 빨강네모의 코드로 인해 아래의 빨강네모의 select쿼리를 내보냈습니다.

그리고 위의 파랑색네모로 인해 아래의 파란색 네모의 지연select쿼리를 내보낸다고 하셨는데

[질문1]

저는 Team에 전에 배운 타입설정으로 lazy를 한 적이없는데 이렇게 한번에 불러오지 않는것에대한 의문

[질문2] 

위에 빨강색 네모에서는 em.find()해서 제어가 em객체로 넘어가서 아래의 빨강네모의 select쿼리를 보낼 수 있는데

위에 파란색 네모에서는 하이버네이트로 제어가 이동할만곳이 보이지가 않아서요.

그냥 컴파일할때 코드조작(코드를 더 붙여서 제어를 조정)을 한다고 보면 되는건가요?

자세한 동작원리를 알고싶은건 아니고 호기심으로 질문 드립니다!

답변 1

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 우디님

[질문1]

@OneToMany는 기본 설정이 LAZY입니다. @ManyToOne은 기본 설정이 EAGER입니다.

[질문2]

강의중에 설명드린 내용이 있습니다. 컬렉션의 경우 엔티티가 영속 상태로 바뀌면 컬렉션도 JPA가 관리하는 특별한 컬렉션으로 변경됩니다. 여기서는 Team 엔티티를 영속 상태로 변경할 때 List Member members <- 여기가 단순 List가 아니라 하이버네이트가 이런 목적으로 사용하는 특별한 컬렉션이 됩니다.

다음을 참고해보시면 도움이 되실거에요.

https://www.inflearn.com/questions/258175

감사합니다.

우디님의 프로필 이미지
우디

작성한 질문수

질문하기