업데이트는 조회해서 상태변경하면 트랜잭션 종료시에 알아서 업데이트 쿼리를 써준다.

쓰기(update)를 할 때는 왠만하면 조회를 꼭 해보고 해야한다.

(그 자리에 있는지 없는지)

테스트에서 작성하였음

@Test
public void updateById_test() {
    // given
    Integer id = 1;
    String title = "제목수정1";

    // when
    Board board = boardPersistRepository.findById(id);
    board.setTitle(title);
    em.flush();
}

업데이트 쿼리가 없다

하지만 조회해보고 바뀐게 있다면 업데이트 쿼리를 자동으로 쏴줌

Untitled

이를 더티체킹 이라고 한다.

영속화된 객체의 상태를 변경하고 트랜잭션이 종료되면 업데이트(더티체킹)가 된다.

글쓰기

게시글 전체보기 리팩토링