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

kangsy763님의 프로필 이미지
kangsy763

작성한 질문수

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

영속성 전이(CASCADE)와 고아 객체

cascade에 대해 질문드립니다.

작성

·

155

0

복습을 하던 중 궁금한게 생겼습니다!

고아객체는 OneToMany, OneToOne 에서만 가능하다고 하셨습니다. 이 부분은 고아객체라고 이름 붙여진 이유를 생각해보면 바로 이해가 갑니다.

cascade는 어디에서만 가능하다라고 딱 정해져있다고 말씀하시지 않으셨습니다. parent가 child를 add 했을 때에 parent만 올려도 그 list안의 child 까지 다 영속성컨텍스트에 올가가게 된다고 하셨습니다. 그렇다면 OneToMany에서만 쓰이는 것이 아니라면, member(many)가 setTeam으로 team(one)을 정한 다음에 member를 올려도 team도 같이 올라가게되는 것이 맞나요 ? 그렇다면 각기 다른 member1,2 두 명이 같은 팀을 setTeam하였다고 가정할 때 cascade를 수행하게되면 우선적으로 수행한 member (many)로 인해 team(one)이 올라가게되고,  후자의 member가 올라갈 때에는 team은 이미 1차 캐쉬에 있으므로 건너뛰게 되는 것인가요 ? 

답변 1

1

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

안녕하세요. kangsy763님

저도 이 부분을 실험해 보지 않아서 정확하지는 않지만, 같은 객체 인스턴스 이므로 건너뛰게 될 것 같아요.

감사합니다.

kangsy763님의 프로필 이미지
kangsy763

작성한 질문수

질문하기