-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
영속성 전이 관련해서 질문드립니다.
19.04.16 14:25 작성 조회수 105
0
안녕하세요, 좋은 강의 감사드립니다.
영속성 전이 관련해서 궁금한 부분이 있어 질문드립니다.
OneToMany(이하 Parent, cascade = CascadeType.ALL) - ManyToOne(이하 Child) 의 관계가 있을 때
Parent에 아래와 같은 메소드가 있는 상태입니다.
public void addChild(final Child child) {
this.getChildList().add(child);
child.setParent(this);
}
Parent를 새로 save한 뒤, Child를 add하면 Parent insert, Child insert 모두 정상적으로 수행됩니다.
하지만 update 시에는 Parent를 update한 뒤 Child를 새로 add해도
Parent update만 수행되고 Child는 insert되지 않는데요,
cascade = CascadeType.ALL 로 영속성 전이를 설정해도
PERSIST - PERSIST, MERGE-MERGE, 이런 식으로 같은 타입의 상태만 전이가 되는 것인지 궁금합니다.
설명이 잘 되었는지 모르겠네요.
답변 기다리겠습니다, 감사합니다.
답변을 작성해보세요.
1
백기선
지식공유자2019.04.17
코드 없이는 이해하기가 어렵네요.
"하지만 update 시에는 Parent를 update한 뒤 Child를 새로 add해도"
일단 여기서 Parent에서 전이 되도록 설정했으니 update할때 전이가 됐을꺼고 add는 그 뒤에 하셨다니까. 그 당시엔 insert가 안됐을거 같네요. Child를 먼저 add 하시고 그 다음에 update를 해야 순서가 맞는거 같긴 합니다.
답변 1