Spring Data JPA를 이용한 BaseEntity와 데이터 감사 로그 기능
·
Backend/SpringBoot
데이터 보존과 감사 로그가 필요하다는 요구사항이 있다.데이터 보존: 모든 데이터는 완전 삭제되지 않고 숨김 처리로 관리(숨김과 삭제는 다른 필드에서 동작) → 논리적 삭제데이터 감사 로그: 모든 정보에 생성일, 생성 아이디, 수정일, 수정 아이디, 삭제일, 삭제 아이디를 포함위와 같은 정보들은 모든 엔티티에 공통으로 들어가야 한다.간단하게 엔티티마다 해당 정보들을 컬럼으로 넣어준다. 하지만 이렇게 된다면 코드 중복이 우려된다.그렇다면, 코드 중복을 줄이면서 구현할 방법이 있을까? BaseEntityEntity들이 공통적으로 사용하는 속성을 하나로 묶어 BaseEntity라는 부모 클래스를 생성한다.BaseEntity 클래스를 생성하여 공통 속성을 담고, 엔티티가 상속받을 수 있도록 하면, 공통 속성에 대..