Back-end/spring boot

Jpa 삭제된 데이터의 개수 확인하기 + log로 표시 | Jpa Check the number of deleted data + display as log [spring boot]

은성 개발자 2024. 8. 14. 20:59
728x90

[전제 상황]

  • jpa 사용 - 스프링 부트, 자바
  • 특정 기간보다 오래된 데이터 삭제 (각자 상황에 따라 맞춰서 변경)

  1. JpaRepository의 삭제 함수 return 타입을 int로 정의한다.
  • void deleteByDateLessThan(삭제기간); → int deleteByDateLessThan(삭제기간);
  • 이러면 삭제한 데이터의 값이 반환된다.
  • 즉, 삭제한 데이터가 없으면 0, 있으면 1이상의 숫자가 return
@Repository
public interface SampleRepository extends JpaRepository<SampelModel, Long>, JpaSpecificationExecutor<SampelModel> {
    @Modifying
    int deleteByDateLessThan(삭제기간);
}

 

2. if문으로 삭제된 데이터 유무 파악하기

  • 삭제 메소드의 반환값이 0보다 크면 삭제 처리가 된 것이다.
  • 0보다 작으면 삭제할 데이터가 없었던 것으로 삭제할 데이터가 없었다고 표시한다.
  • (+ 짜투리) log.debug인 이유! 삭제하는 작업이 들어가지 않았기에 info보다는 debug 선택 (그건 각자 판단)
int removeDataCnt = SampleRepository.deleteByDateLessThan(삭제기간);
if (removeDataCnt > 0) {
	log.info("{} ago data {}개 remove O",삭제기간,removeDataCnt);
}else{
	log.debug("{} ago data is not exist -> remove X", 삭제기간);
}

 

 

로그도 잘 써야 나중에 유지보수도 좋아지고..

넓게 볼 줄 알아야 한다 어려워

728x90
반응형