JPA의 Update 기능

iseon_u·2023년 3월 22일
0

Book

목록 보기
6/16
post-thumbnail

CH03 - JPA의 Update 기능


@RequiredArgsConstructor
@Service
public class PostsService {
    private final PostsRepository postsRepository;

    @Transactional
    public Long update(Long id, PostsUpdateRequestDto requestDto) {
        Posts posts = postsRepository.findById(id)
                .orElseThrow(() -> new IllegalArgumentException("해당 게시글이 없습니다. id=" + id));
        posts.update(requestDto.getTitle(), requestDto.getContent());
        return id;
    }
}
  • JPA 의 영속성 컨텍스트 (엔티티를 영구 저장하는 환경)
    • update 기능에서 데이터베이스에 쿼리를 날리는 부분이 없다
    • Entity 객체의 값만 변경하면 Update 쿼리를 날릴 필요가 없다 (더티 체킹)

실제 톰캣으로 확인

H2 콘솔 접속
http://localhost:8080/h2-console

insert into posts (author, content, title) values ('author', 'content', 'title');
  • insert 쿼리 실행 후 API 로 조회

http://localhost:8080/api/v1/posts/1

profile
🧑🏻‍💻 Hello World!

0개의 댓글