1. save()를 사용하는 방식
save함수는 id를 전달하면 해당 id에 대한 데이터가 있으면 update
save함수는 id를 전달하면 해당 id에 대한 데이터가 없으면 insert
@PutMapping("/dummy/update")
public User updateUser(@PathVariable int id, @RequestBody User requestUser) {
User user = userRepository.findById(id);
user.setPassword(requestUser.getPassword());
user.setEmail(requestUser.getEmail());
userRepository.save(user);
return user;
}
2. @Transactional
save()를 사용 하지 않아도 객체값만 변경 해줄 시 값이 변경된다
return 후 commit 해서 더티채킹해서 날려준다!
@Transactional
@PutMapping("/dummy/update")
public User updateUser(@PathVariable int id, @RequestBody User requestUser) {
User user = userRepository.findById(id)
user.setPassword(requestUser.getPassword());
user.setEmail(requestUser.getEmail());
//userRepository.save(user); -> x
return user;
}