최원종의 개발 블로그

V2(PersistentContext) 게시글 삭제하기 - Persistence Context와 영속성 관리 본문

Spring boot 입문

V2(PersistentContext) 게시글 삭제하기 - Persistence Context와 영속성 관리

chl6698 2026. 5. 7. 14:33

영속성(Persistence)

영속성은 데이터가 영구적으로 보관되는 성질 을 의미.
프로그램이 종료되어도 데이터가 사라지지 않고 계속 존재하는 특성

 


BoardPersistRepository.java 코드

    // 게시글 삭제
    @Transactional
    public void deleteById(Integer id) {
        // 1. 먼저 삭제 하고자하는 엔티티를 조회
        // 1.1 조회가 되었기 때문에 board 는 영속화 된 상태가 되었다.
        Board board = em.find(Board.class, id);
        if (board == null) {
            throw new IllegalArgumentException("삭제할 게시글을 찾을 수 없습니다 : " + id);
        }
        em.remove(board);
    }

 


BoardController.java 코드

    // /board/{{board.id}}/delete
    @PostMapping("/board/{id}/delete")
    public String deleteProc(@PathVariable(name = "id") Integer id) {
        //boardNativeRepository.deleteById(id);
        boardPersistRepository.deleteById(id);
        // PRG 패턴( Post-> Redirect -> Get) 적용
        return "redirect:/";
    }