cascade 질문입니다
963
작성한 질문수 5
부모엔티티에서 자식엔티티를 mappedby로 양방향 잡으면 readonly로 데이터 생성 변경 모두 불가하지만 cascade를 사용하면 가능하다라고 이해하는게 맞는건가요?
반대로 자식엔티티에 조인된 부모엔티티에 cascade하고 자식엔티티에 부모엔티티넣으면 pk뿐만 아니라 부모도 함께만들어 진다
즉, 방향성이든 주인이든 상관없이 같이 영속상태가되어 저장된다고 이해하면 맞을까요?
답변 1
13
안녕하세요 bk님
명확하게 답변을 드리자면, 마지막에 말씀해주신 부분이 맞습니다.
cascade는 mappedBy, 양방향 등등과 전혀 관계가 없습니다.
복잡하게 다른 것과 엮어서 고민하지 않으셔도 됩니다^^
단순하게 A -> B 관계가 cascade로 되어 있으면 A엔티티를 PERSIST할 때 B 엔티티도 연쇄해서 함께 PERSIST 해버린다고 이해하시면 됩니다.
감사합니다.
0
A 가 Child B가 Parent 엔티티 라고 할때
Child -> Parent 형태에서 cascade로 되어있으면 Parent 엔티티를 PERSIST 할때 Child 엔티티도 PERSIST 한다 로 이해하는게 맞을까요 ??
Child - ManyToOne
Parent - OneToMany
0
안녕하세요. 원석나님
제가 답을 바로 드릴 수도 있지만, 그러면 많은 것을 얻어가실 수 없으니, 이 부분은 직접 한번 코드로 테스트해보시고 결과를 남겨주시면 더 많은 것을 얻어가실 수 있을거에요.
감사합니다.
0
안녕하세요. 최근 강의를 들으면서 궁금한 점이 생겼는데
@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinColumn(name = "delivery_id")
private Delivery delivery; //배송정보
ORDERS 와 DELIVERY 은 1대 1 관계이고 ORDERS가 주인이 되서 외래키(DELIVERY_ID) 를 가지고 있는데
만약 아래의 코드처럼 주문의 delivery 를 가져오고 setId를 할 경우 order 테이블 과 delivery 테이블의 delivery_id 컬럼이 두개 다 변경된다고 보면 될까요?
Order order = new Order();
order.getDelivery().setId();0
자답입니다.
1) jpa는 pk를 수정하면 안된다.
2) cascade는
Order order = ~~~
Delivery delivery = ~~~
order.setDelivery(delivery);
em.persist(order);
--> cascade 가 처리되어 있으면 order 생성 및 delivery 를 생성한다.
--> cascade 가 처리되어 있지 않으면 에러 발생 --> 이런 경우 아래 처럼 delivery 도 영속성에 넣어야 함
Order order = ~~~
Delivery delivery = ~~~
em.persist(delivery);
order.setDelivery(delivery);
em.persist(order);
inheritance startegy 선택시 고려사항
0
1
0
Entity 동등성 비교
0
10
1
실무 조언 관련 질문입니다.
0
41
1
H2데이터베이스 파일 생성
0
51
2
서브쿼리 강의에서 ALL 예시 관련 질문드립니다.
0
49
2
수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?
0
48
1
JPQL 메소드와 락
0
52
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
83
1
임베디드 타입 예시 코드 관련 질문
0
112
3
명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요
0
90
3
인텔리제이 패키지 커서 단축키 질문
0
106
2
혹시 현재는 ID 데이터 타입이 String이면 안되나요?
0
136
1
양방향 연관관계 시 연관관계 주인을 설정하는 이유
0
68
1





