본문 바로가기
항해99

[TIL] 항해 31일차

by yeaseul912 2022. 8. 11.
728x90

드디어 정리된 DB ㅠㅠ

 

스케줄러 완성!

ScheduleTasks.java

@Scheduled(cron="0 0 1 * * *")
public void schedule3(){
    log.info("스케쥴러 작동 시작 ! 현재 시각 : "+dateFormat.format(new Date()));
    List<Post> allPost = postRepository.findAll();
    for(Post p : allPost){
        List<Comment> comments = commentRepository.findAllByPost(p);
        int count = comments.size();
        if(count == 0) {
            Long id = postService.scheduleDeletePost(p.getId());
            System.out.println(id+"번 게시글을 삭제 하였습니다.!!");
        }
    }
}

 

PostService.java

@Transactional
public Long scheduleDeletePost(Long id) {
    Post post = isPresentPost(id);
    subCommentRepository.deleteByPostId(id);
    commentRepository.deleteByPostId(id);
    postRepository.delete(post);
    return id;
}

 

refrence

https://junghn.tistory.com/entry/JAVA-%EC%9E%90%EB%B0%94-%EB%82%A0%EC%A7%9C-%ED%8F%AC%EB%A7%B7-%EB%B3%80%EA%B2%BD-%EB%B0%A9%EB%B2%95SimpleDateFormat-yyyyMMdd

https://wooncloud.tistory.com/75

 

[Spring] 스케줄러 Cron 사용하기

스프링 프로젝트를 개발하면서 시스템이 커지고 DB 또는 다양한 서비스를 위해 어떤 모듈들을 주기적으로 실행해야 할 때가 옵니다. 그럴 때 사용하는 것이 스케줄러입니다. 스프링에서 스케줄

wooncloud.tistory.com

 

 

반응형

'항해99' 카테고리의 다른 글

[TIL] 항해  (0) 2022.08.13
[TIL] 항해 32일차  (0) 2022.08.12
[TIL] 항해 30일차  (0) 2022.08.11
[WIL] 항해 4주차  (0) 2022.08.07
[TIL] 항해 25일차  (0) 2022.08.05

댓글