목차
- save() 사용하여 수정
- save()
- orElseThrow()
- @Transactional 어노테이션 사용하여 수정 ( = 더티체킹)
- @Transactional
- 터티체킹
1. save() 사용하여 수정
** save() : insert, update 에 사용되는 메소드
** orElseThrow() : Java는 매개변수로 함수를 못 받지만(parsing을 못하기 때문) Java 1.5부터는 람다식으로 함수 사용 가능
- postman에서 보낸 데이터를 requestUser.get... 으로 받아서 setId에 수정한 데이터를 매개변수(id)로 저장
- 수정할 데이터 외의 데이터(username)가 null 값이 되기 때문에 에러 발생
- 기존 데이터를 찾아(findById) 해당 데이터의 특정 변수들만 수정 (나머지 데이터는 그대로 유지)
2. @Transactional 사용하여 수정 (= 더티체킹)
** @Transactional : save 함수 없이 데이터 수정 가능
** 더티체킹 : dirty 상태(기존 데이터에 생긴 변화)를 검사하는 것, JPA에서는 트랜잭션이 끝나는 시점에 변화가 있는 모든 엔터티 객체를 DB에 자동으로 반영
- save() 주석처리
- 수정 메소드에. @Transactional 어노테이션 추가
'SpringBoot > JPA' 카테고리의 다른 글
[STS] 예외처리 (@ControllerAdvice, @ExceptionHandler) (0) | 2024.03.12 |
---|---|
[STS] 회원정보 삭제 (deleteById) (0) | 2024.03.11 |
[STS] 페이지 처리 (paging, @PageableDefault, Pageable) (0) | 2024.03.09 |
[STS] 회원정보 불러오기 (@PathVariable이란?) (1) | 2024.03.07 |
[STS] 회원정보 추가 (Enum 이란?) (0) | 2024.03.07 |