CASCADE
- Entity의 영속 상태를 변경할 때, 연관 Entity도 같이 변경하고 싶은 경우 사용
사용 조건
- 다음 조건을 만족하지 않으면 사용하면 안됨
- 연관 Entity를 사용하는 곳이 현재 Entity 밖에 없어야 함(다른 테이블에서 사용하면 안됨)
- 현재 Entity와 연관 Entity의 Lifecycle이 같아야 함(생성, 수정, 삭제 등)
사용 방법
@Entity
public class Member {
/* ... */
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "team_id")
private Team team;
}
- 연관관계 어노테이션의 cascade 엘리먼트에 CascadeType 적용
- 연관관계의 참조측(mappedBy)도 사용 가능
CASCADE 종류
CascadeType | 상태 변경 |
---|---|
PERSIST | 영속 |
REMOVE | 삭제 |
MERGE | 병합 |
REFRESH | REFRESH |
DETACH | DETACH |
'JPA' 카테고리의 다른 글
[JPA 21] 고아 객체 제거(orphanRemoval) (0) | 2022.03.12 |
---|---|
[JPA 19] 즉시 로딩 / 지연 로딩 (0) | 2022.03.11 |
[JPA 18] 프록시(Proxy) (0) | 2022.03.11 |
[JPA 17] 공통 컬럼 관리 - @MappedSuperClass (0) | 2022.03.11 |
[JPA 16] 상속관계 구현 - 클래스 별 테이블(서브타입 테이블) 전략 (0) | 2022.03.11 |