- CascadeType.RESIST – 엔티티를 생성하고, 연관 엔티티를 추가하였을 때 persist() 를 수행하면 연관 엔티티도 함께 persist()가 수행된다. 만약 연관 엔티티가 DB에 등록된 키값을 가지고 있다면 detached entity passed to persist Exception이 발생한다.
- CascadeType.MERGE – 트랜잭션이 종료되고 detach 상태에서 연관 엔티티를 추가하거나 변경된 이후에 부모 엔티티가 merge()를 수행하게 되면 변경사항이 적용된다.(연관 엔티티의 추가 및 수정 모두 반영됨)
- CascadeType.REMOVE – 삭제 시 연관된 엔티티도 같이 삭제됨
- CascadeType.DETACH – 부모 엔티티가 detach()를 수행하게 되면, 연관된 엔티티도 detach() 상태가 되어 변경사항이 반영되지 않는다.
- CascadeType.ALL – 모든 Cascade 적용
예시
@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinColumn(name = "DELIVERY_ID")
private Delivery delivery;
'JAVA' 카테고리의 다른 글
JPA @ManyToMany (0) | 2021.04.23 |
---|---|
JPA @Inheritance (0) | 2021.04.23 |
JAVA Optional 기초 (0) | 2021.03.19 |
자바에서 제공하는 함수형 인터페이스 (0) | 2021.03.18 |
자바 스트림 기초 사용법 (0) | 2021.03.17 |