일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 미션
- MSA
- 스프링 부트
- mock
- AWS
- CircuitBreaker
- Docker
- 의존성
- 트랜잭션
- 세션
- JUnit5
- Spring Batch
- 우아한세미나
- Level2
- 프로그래머스
- 스프링부트
- 코드리뷰
- 자바
- JPA
- 서블릿
- HTTP
- 우테코
- 레벨2
- 프리코스
- 백준
- Paging
- yml
- 우아한테크코스
- AOP
- REDIS
Archives
- Today
- Total
목록키 제약 조건 (1)
늘
[JPA] cascade = CascadeType.REMOVE와 @OnDelete(action = OnDeleteAction.CASCADE)의 차이
가장 큰 차이로는, JPA에 의해 처리되느냐, DDL에 의해 cascade가 걸린 테이블이 생겨 DB단에서 처리되느냐 이다. 전자의 방식을 취할 경우, JPA에 의해 외래 키를 찾아가며 참조하는 레코드를 제거해주게 됩니다. 따라서, JPA 상에서는 참조하고 있는 레코드의 개수만큼 delete 쿼리가 생성됩니다. 후자의 방식을 취할 경우, 데이터베이스 자체에서 on delete cascade 제약조건이 걸리게 됩니다. 이를 통해 참조하는 레코드가 모두 제거되는 것입니다. cascade = CASCADE.REMOVE JPA 레벨에서 작동한다. 외래 키를 찾아 참조하는 레코드를 제거해준다. 참조하고 있는 레코드 수 만큼 delete쿼리가 나간다. 부모 테이블의 자식 컬럼에 걸어여하므로(일반적으로 @OneToM..
우아한테크코스 4기/프로젝트
2022. 7. 24. 01:13