데이터베이스에서 데이터를 삭제할 때 정책에 따라 Hard Delete와 Soft Delete로 나눌 수 있다. Hard Delete는 물리 삭제, Soft Delete는 논리 삭제로도 부른다. 물리 삭제는 데이터베이스 상에서 완전히 제거하는 것이고, 논리 삭제는 데이터를 남겨두되 컬럼을 별도로 만들어서 삭제 여부를 확인하는 것이다. 보통 삭제일시 컬럼의 null 여부 또는 삭제여부 컬럼의 true와 false 값을 확인한다. 논리 삭제의 경우에는 데이터를 삭제하지 않으므로 결과적으로는 특정 컬럼을 update 한다. 이때 @SQLDelete 라는 어노테이션을 유용하게 사용할 수 있다. 이 어노테이션은 데이터를 삭제하는 로직을 작성하면, 데이터를 삭제하는 대신에 미리 설정한 특정 컬럼의 값을 변경해준다. ..