[개념 정리]Spring Boot에서 JPA의 Soft Delete와 Cascade 연관관계
·
Spring/JPA
JPA를 사용하다 보면 데이터 삭제 시 완전 삭제(Hard Delete)가 아닌 Soft Delete를 고려해야 하는 경우가 있습니다. Soft Delete는 데이터를 물리적으로 삭제하지 않고 특정 컬럼 값을 변경하여 삭제 상태를 표시하는 방식으로, 데이터를 보존하면서 삭제 여부를 관리할 수 있습니다. 이 글에서는 Soft Delete를 구현하는 방법과 Soft Delete 적용 시 Cascade 연관관계에서 발생할 수 있는 문제 및 해결 방법을 살펴보겠습니다.Soft Delete란?Soft Delete는 데이터베이스에서 데이터를 물리적으로 삭제하지 않고, "삭제됨" 상태를 표시하기 위해 추가적인 컬럼(e.g., deleted 또는 deletedAt)을 활용하는 방법입니다. 이를 통해 다음과 같은 장점을..